Package com.jme3.bullet.collision.shapes
Class ConeCollisionShape
java.lang.Object
com.jme3.bullet.NativePhysicsObject
com.jme3.bullet.collision.shapes.CollisionShape
com.jme3.bullet.collision.shapes.ConvexShape
com.jme3.bullet.collision.shapes.ConeCollisionShape
- All Implemented Interfaces:
Comparable<NativePhysicsObject>
A conical collision shape based on Bullet's
btConeShapeX,
btConeShape, or btConeShapeZ.-
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
ConstructorsConstructorDescriptionConeCollisionShape(float radius, float height) Instantiate a cone shape, oriented along the local Y axis.ConeCollisionShape(float radius, float height, int axisIndex) Instantiate a cone shape around the specified main (height) axis. -
Method Summary
Modifier and TypeMethodDescriptionbooleanTest whether the specified scale factors can be applied to this shape.intgetAxis()Return the main (height) axis of the cone.floatReturn the height of the cone.floatReturn the radius of the cone's base.floatCalculate how far the scaled shape extends from its center of mass, including collision margin.floatReturn the unscaled volume of the cone.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, boundingBox, boundingBox, canSplit, getDefaultMargin, getMargin, getScale, getScaleDp, getShapeType, getShapeType, isContactFilterEnabled, isInfinite, isNonMoving, isPolyhedral, nativeMargin, recalculateAabb, setContactFilterEnabled, setDefaultMargin, setMargin, setNativeId, setScale, 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
-
ConeCollisionShape
public ConeCollisionShape(float radius, float height, int axisIndex) Instantiate a cone shape around the specified main (height) axis.- Parameters:
radius- the desired unscaled radius (≥0)height- the desired unscaled height (≥0)axisIndex- which local axis to use for the height: 0→X, 1→Y, 2→Z (default=1)
-
ConeCollisionShape
public ConeCollisionShape(float radius, float height) Instantiate a cone shape, oriented along the local Y axis.- Parameters:
radius- the desired unscaled radius (≥0)height- the desired unscaled height (≥0)
-
-
Method Details
-
getAxis
public int getAxis()Return the main (height) axis of the cone.- Returns:
- the axis index: 0→X, 1→Y, 2→Z
-
getHeight
public float getHeight()Return the height of the cone.- Returns:
- the unscaled height (≥0)
-
getRadius
public float getRadius()Return the radius of the cone's base.- Returns:
- the unscaled radius (≥0)
-
unscaledVolume
public float unscaledVolume()Return the unscaled volume of the cone.- Returns:
- the volume (in shape units cubed, ≥0)
-
canScale
Test whether the specified scale factors can be applied to this shape. For cone shapes, base scaling must be uniform.- Overrides:
canScalein classCollisionShape- Parameters:
scale- the desired scale factor for each local axis (may be null, unaffected)- Returns:
- true if applicable, otherwise false
-
maxRadius
public float maxRadius()Calculate how far the scaled shape extends from its center of mass, including collision margin.- Overrides:
maxRadiusin classCollisionShape- Returns:
- the distance (in physics-space units, ≥0)
-