Package com.jme3.bullet.collision.shapes
Class Convex2dShape
java.lang.Object
com.jme3.bullet.NativePhysicsObject
com.jme3.bullet.collision.shapes.CollisionShape
com.jme3.bullet.collision.shapes.ConvexShape
com.jme3.bullet.collision.shapes.Convex2dShape
- All Implemented Interfaces:
com.jme3.export.Savable,com.jme3.util.clone.JmeCloneable,Cloneable,Comparable<NativePhysicsObject>
A convex collision shape optimized for 2-D, based on Bullet's
btConvex2dShape. For a rectangle, use Box2dShape instead.-
Field Summary
FieldsFields inherited from class com.jme3.bullet.collision.shapes.ConvexShape
loggerXFields inherited from class com.jme3.bullet.collision.shapes.CollisionShape
enableContactFilter, logger, margin, scaleFields inherited from class com.jme3.bullet.NativePhysicsObject
loggerN -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedNo-argument constructor needed by SavableClassUtil.Convex2dShape(ConvexShape base) Instantiate a shape based on the specified convex shape.Convex2dShape(FloatBuffer flippedBuffer) Instantiate a 2-D hull shape based on a flipped buffer containing coordinates. -
Method Summary
Modifier and TypeMethodDescriptionbooleancanScale(com.jme3.math.Vector3f scale) Test whether the specified scale factors can be applied to this shape.voidcloneFields(com.jme3.util.clone.Cloner cloner, Object original) Callback fromClonerto convert this shallow-cloned shape into a deep-cloned one, using the specified Cloner and original to resolve copied fields.Access the base shape.voidread(com.jme3.export.JmeImporter importer) De-serialize the shape from the specified importer, for example when loading from a J3O file.voidsetScale(com.jme3.math.Vector3f scale) Alter the scale of this shape and its base.voidwrite(com.jme3.export.JmeExporter exporter) Serialize this shape to the specified exporter, for example when saving to a J3O file.Methods inherited from class com.jme3.bullet.collision.shapes.ConvexShape
isConcave, isConvex, scaledVolume, toHullShape, toSplittableShapeMethods inherited from class com.jme3.bullet.collision.shapes.CollisionShape
aabbCenter, aabbScaledVolume, boundingBox, boundingBox, canSplit, copyShapeProperties, getDefaultMargin, getMargin, getScale, getScaleDp, getShapeType, getShapeType, isContactFilterEnabled, isInfinite, isNonMoving, isPolyhedral, jmeClone, maxRadius, nativeMargin, readShapeProperties, recalculateAabb, setContactFilterEnabled, setDefaultMargin, setMargin, setNativeId, setScale, setUserIndex, setUserIndex2, toString, updateScale, userIndex, userIndex2Methods inherited from class com.jme3.bullet.NativePhysicsObject
compareTo, countTrackers, dumpTrackers, equals, freeUnusedObjects, hasAssignedNativeObject, hashCode, nativeId, reassignNativeId, setNativeIdNotTracked, unassignNativeObject
-
Field Details
-
logger2
message logger for this class
-
-
Constructor Details
-
Convex2dShape
protected Convex2dShape()No-argument constructor needed by SavableClassUtil. -
Convex2dShape
Instantiate a shape based on the specified convex shape.- Parameters:
base- the base shape (not null, convex, alias created)
-
Convex2dShape
Instantiate a 2-D hull shape based on a flipped buffer containing coordinates.- Parameters:
flippedBuffer- the coordinates on which to base the shape (not null, not empty, length a multiple of 3, Z=0, unaffected)
-
-
Method Details
-
getBaseShape
Access the base shape.- Returns:
- the pre-existing shape (not null)
-
canScale
public boolean canScale(com.jme3.math.Vector3f scale) Test whether the specified scale factors can be applied to this shape.- Overrides:
canScalein classCollisionShape- Parameters:
scale- the desired scale factor for each local axis (may be null, unaffected)- Returns:
- true if applicable, otherwise false
-
cloneFields
Callback fromClonerto convert this shallow-cloned shape into a deep-cloned one, using the specified Cloner and original to resolve copied fields.- Specified by:
cloneFieldsin interfacecom.jme3.util.clone.JmeCloneable- Overrides:
cloneFieldsin classCollisionShape- Parameters:
cloner- the Cloner that's cloning this shape (not null)original- the instance from which this shape was shallow-cloned (not null, unaffected)
-
read
De-serialize the shape from the specified importer, for example when loading from a J3O file.- Specified by:
readin interfacecom.jme3.export.Savable- Overrides:
readin classCollisionShape- Parameters:
importer- (not null)- Throws:
IOException- from the importer
-
setScale
public void setScale(com.jme3.math.Vector3f scale) Alter the scale of this shape and its base. CAUTION: Not all shapes can be scaled arbitrarily.Note that if shapes are shared (between collision objects and/or compound shapes) changes can have unintended consequences.
- Overrides:
setScalein classCollisionShape- Parameters:
scale- the desired scale factor for each local axis (not null, no negative component, unaffected, default=(1,1,1))
-
write
Serialize this shape to the specified exporter, for example when saving to a J3O file.- Specified by:
writein interfacecom.jme3.export.Savable- Overrides:
writein classCollisionShape- Parameters:
exporter- (not null)- Throws:
IOException- from the exporter
-