Class MinkowskiSum

All Implemented Interfaces:
Comparable<NativePhysicsObject>

public class MinkowskiSum extends ConvexShape
A convex collision shape to represent the Minkowki sum of 2 convex shapes, based on Bullet's btMinkowskiSumShape.
  • Field Details

    • logger2

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

    • MinkowskiSum

      public MinkowskiSum(ConvexShape shapeA, ConvexShape shapeB)
      Instantiate the Minkowki sum of the specified shapes.
      Parameters:
      shapeA - the first base shape (not null, convex, alias created)
      shapeB - the 2nd base shape (not null, convex, alias created)
  • Method Details

    • getShapeA

      public ConvexShape getShapeA()
      Access the first base shape.
      Returns:
      the pre-existing shape (not null)
    • getShapeB

      public ConvexShape getShapeB()
      Access the 2nd base shape.
      Returns:
      the pre-existing shape (not null)
    • canScale

      public boolean canScale(Vector3f scale)
      Test whether the specified scale factors can be applied to this shape. For MinkowskiSum shapes, scaling must be unity.
      Overrides:
      canScale in class CollisionShape
      Parameters:
      scale - the desired scale factor for each local axis (may be null, unaffected)
      Returns:
      true if applicable, otherwise false
    • getMargin

      public float getMargin()
      Return the collision margin of this shape.
      Overrides:
      getMargin in class CollisionShape
      Returns:
      the margin thickness (in physics-space units, ≥0)
    • setMargin

      public void setMargin(float margin)
      Alter the collision margin of this shape. This feature is disabled for MinkowskiSum shapes. The margin of a MinkowskiSum is simply the sum of the (native) margins of the base shapes.
      Overrides:
      setMargin in class CollisionShape
      Parameters:
      margin - the desired margin thickness (in physics-space units)