public interface CollidableBody extends Collidable
Collidable.Collidability, Collidable.Group
ModelComponent.NavpanelVisibility
All, AllBodies, Deformable, Rigid, Self
Modifier and Type | Method and Description |
---|---|
boolean |
allowCollision(ContactPoint cpnt,
Collidable other,
java.util.Set<Vertex3d> attachedVertices)
Returns
true if a collision between this Collidable
and other should be allowed for the contact point
cpnt . |
boolean |
containsContactMaster(CollidableDynamicComponent comp)
Returns true if this Collidable contains a specified contact master
component.
|
int |
getCollidableIndex() |
PolygonalMesh |
getCollisionMesh()
Returns the mesh that should be used for computing collisions, or
null if there is no such mesh. |
DistanceGrid |
getDistanceGrid()
Returns a signed distance grid that can be used with a
SignedDistanceCollider, or
null if this Collidable
does not support a signed distance grid (i.e., if
hasDistanceGrid() returns false ). |
double |
getMass() |
void |
getVertexMasters(java.util.List<ContactMaster> mlist,
Vertex3d vtx)
Returns all the contact master components associated with a particular
mesh vertex.
|
boolean |
hasDistanceGrid()
Returns
true if this Collidable supports a signed
distance grid that can be used with a SignedDistanceCollider. |
void |
setCollidableIndex(int idx) |
getCollidable, getCollidableAncestor, isCompound, isDeformable
connectToHierarchy, disconnectFromHierarchy, getHardReferences, getName, getNavpanelVisibility, getNumber, getParent, getSoftReferences, hasState, isFixed, isMarked, isSelected, notifyParentOfChange, postscan, scan, setFixed, setMarked, setName, setNumber, setParent, setSelected, updateReferences
getAllPropertyInfo, getProperty
getChildren, hasChildren
isWritable, write
double getMass()
PolygonalMesh getCollisionMesh()
null
if there is no such mesh. If this method
returns null
, then no collisions will
be performed for this collidable, regardless any default or explicit
collision behaviors that have been arranged by the system.void getVertexMasters(java.util.List<ContactMaster> mlist, Vertex3d vtx)
mlist
. The list should not be cleared. The vertex
should be a vertex of the mesh returned by getCollisionMesh()
.mlist
- collected master component informationvtx
- vertex for which the master components are requestedboolean containsContactMaster(CollidableDynamicComponent comp)
comp
- component to test fortrue
if comp
is contained in
this Collidableboolean allowCollision(ContactPoint cpnt, Collidable other, java.util.Set<Vertex3d> attachedVertices)
true
if a collision between this Collidable
and other
should be allowed for the contact point
cpnt
. In making this decision, this method may
refer to attachedVertices
, which supplies a list
of vertices on this Collidable which are attached in some way
to the other Collidable.cpnt
- contact point being testedother
- opposing collidableattachedVertices
- list of vertices attached to other
.true
if the collision should be allowedint getCollidableIndex()
void setCollidableIndex(int idx)
boolean hasDistanceGrid()
true
if this Collidable supports a signed
distance grid that can be used with a SignedDistanceCollider. At
present, this will only be true for non-deformable bodies.true
if this Collidable supports a signed
distance gridDistanceGrid getDistanceGrid()
null
if this Collidable
does not support a signed distance grid (i.e., if
hasDistanceGrid()
returns false
).