Class BulletJointDebugControl

java.lang.Object
com.jme3.scene.control.AbstractControl
com.jme3.bullet.debug.AbstractPhysicsDebugControl
com.jme3.bullet.debug.BulletJointDebugControl
All Implemented Interfaces:
com.jme3.export.Savable, com.jme3.scene.control.Control, com.jme3.util.clone.JmeCloneable, Cloneable

public class BulletJointDebugControl extends AbstractPhysicsDebugControl
A physics-debug control used to visualize a PhysicsJoint.

This class is shared between JBullet and Native Bullet.

Author:
normenhansen
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected final com.jme3.math.Transform
     
    protected final com.jme3.scene.debug.Arrow
     
    protected final com.jme3.scene.debug.Arrow
     
    protected final com.jme3.math.Transform
     
    protected final PhysicsJoint
     
    protected final com.jme3.scene.Geometry
     
    protected final com.jme3.scene.Geometry
     
    protected final com.jme3.math.Vector3f
     
    protected final com.jme3.math.Vector3f
     

    Fields inherited from class com.jme3.bullet.debug.AbstractPhysicsDebugControl

    debugAppState

    Fields inherited from class com.jme3.scene.control.AbstractControl

    enabled, spatial
  • Constructor Summary

    Constructors
    Constructor
    Description
    Instantiate an enabled control to visualize the specified joint.
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
    controlRender(com.jme3.renderer.RenderManager rm, com.jme3.renderer.ViewPort vp)
    Render this control.
    protected void
    controlUpdate(float tpf)
    Update this control.
    void
    setSpatial(com.jme3.scene.Spatial spatial)
    Alter which spatial is controlled.

    Methods inherited from class com.jme3.bullet.debug.AbstractPhysicsDebugControl

    applyPhysicsTransform, applyPhysicsTransform

    Methods inherited from class com.jme3.scene.control.AbstractControl

    cloneFields, cloneForSpatial, getSpatial, isEnabled, jmeClone, read, render, setEnabled, update, write

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • body

      protected final PhysicsJoint body
    • geomA

      protected final com.jme3.scene.Geometry geomA
    • arrowA

      protected final com.jme3.scene.debug.Arrow arrowA
    • geomB

      protected final com.jme3.scene.Geometry geomB
    • arrowB

      protected final com.jme3.scene.debug.Arrow arrowB
    • a

      protected final com.jme3.math.Transform a
    • b

      protected final com.jme3.math.Transform b
    • offA

      protected final com.jme3.math.Vector3f offA
    • offB

      protected final com.jme3.math.Vector3f offB
  • Constructor Details

    • BulletJointDebugControl

      public BulletJointDebugControl(BulletDebugAppState debugAppState, PhysicsJoint body)
      Instantiate an enabled control to visualize the specified joint.
      Parameters:
      debugAppState - which app state (not null, alias created)
      body - the joint to visualize (not null, alias created)
  • Method Details

    • setSpatial

      public void setSpatial(com.jme3.scene.Spatial spatial)
      Alter which spatial is controlled. Invoked when the control is added to or removed from a spatial. Should be invoked only by a subclass or from Spatial. Do not invoke directly from user code.
      Specified by:
      setSpatial in interface com.jme3.scene.control.Control
      Overrides:
      setSpatial in class com.jme3.scene.control.AbstractControl
      Parameters:
      spatial - the spatial to control (or null)
    • controlUpdate

      protected void controlUpdate(float tpf)
      Update this control. Invoked once per frame during the logical-state update, provided the control is enabled and added to a scene. Should be invoked only by a subclass or by AbstractControl.
      Specified by:
      controlUpdate in class AbstractPhysicsDebugControl
      Parameters:
      tpf - the time interval between frames (in seconds, ≥0)
    • controlRender

      protected void controlRender(com.jme3.renderer.RenderManager rm, com.jme3.renderer.ViewPort vp)
      Render this control. Invoked once per frame, provided the control is enabled and added to a scene. Should be invoked only by a subclass or by AbstractControl.
      Specified by:
      controlRender in class com.jme3.scene.control.AbstractControl
      Parameters:
      rm - the render manager (not null)
      vp - the view port to render (not null)