Class Box2dShape

All Implemented Interfaces:
com.jme3.export.Savable, com.jme3.util.clone.JmeCloneable, Cloneable, Comparable<NativePhysicsObject>

public class Box2dShape extends ConvexShape
An axis-aligned, rectangular collision shape based on Bullet's btBox2dShape.
  • Field Details

    • logger2

      public static final Logger logger2
      message logger for this class
  • Constructor Details

    • Box2dShape

      protected Box2dShape()
      No-argument constructor needed by SavableClassUtil.
    • Box2dShape

      public Box2dShape(float halfExtent)
      Instantiate a square shape with the specified half extent.
      Parameters:
      halfExtent - the desired unscaled half extent on each local axis (not negative)
    • Box2dShape

      public Box2dShape(float xHalfExtent, float yHalfExtent)
      Instantiate a rectangle shape with the specified half extents.
      Parameters:
      xHalfExtent - the desired unscaled half extent on the local X axis (not negative)
      yHalfExtent - the desired unscaled half extent on the local Y axis (not negative)
    • Box2dShape

      public Box2dShape(com.jme3.math.Vector2f halfExtents)
      Instantiate a rectangle shape with the specified half extents.
      Parameters:
      halfExtents - the desired unscaled half extents (not null, no negative component, unaffected)
    • Box2dShape

      public Box2dShape(com.jme3.math.Vector3f halfExtents)
      Instantiate a rectangle shape with the specified half extents.
      Parameters:
      halfExtents - the desired unscaled half extents (not null, no negative component, unaffected, Z component ignored)
  • Method Details

    • getHalfExtents

      public com.jme3.math.Vector3f getHalfExtents(com.jme3.math.Vector3f storeResult)
      Copy the half extents of the rectangle.
      Parameters:
      storeResult - storage for the result (modified if not null)
      Returns:
      the unscaled half extent for each local axis (either storeResult or a new vector, not null, no negative component)
    • cloneFields

      public void cloneFields(com.jme3.util.clone.Cloner cloner, Object original)
      Callback from Cloner to convert this shallow-cloned shape into a deep-cloned one, using the specified Cloner and original to resolve copied fields.
      Specified by:
      cloneFields in interface com.jme3.util.clone.JmeCloneable
      Overrides:
      cloneFields in class CollisionShape
      Parameters:
      cloner - the Cloner that's cloning this shape (not null)
      original - the instance from which this shape was shallow-cloned (not null, unaffected)
    • maxRadius

      public float maxRadius()
      Calculate how far the scaled shape extends from its center.
      Overrides:
      maxRadius in class CollisionShape
      Returns:
      the distance (in physics-space units, ≥0)
    • read

      public void read(com.jme3.export.JmeImporter importer) throws IOException
      De-serialize the shape from the specified importer, for example when loading from a J3O file.
      Specified by:
      read in interface com.jme3.export.Savable
      Overrides:
      read in class CollisionShape
      Parameters:
      importer - (not null)
      Throws:
      IOException - from the importer
    • write

      public void write(com.jme3.export.JmeExporter exporter) throws IOException
      Serialize the shape to the specified exporter, for example when saving to a J3O file.
      Specified by:
      write in interface com.jme3.export.Savable
      Overrides:
      write in class CollisionShape
      Parameters:
      exporter - (not null)
      Throws:
      IOException - from the exporter