Package org.robwork.sdurw
Class CollisionStrategy
- java.lang.Object
-
- org.robwork.sdurw.ProximityStrategy
-
- org.robwork.sdurw.CollisionStrategy
-
public class CollisionStrategy extends ProximityStrategy
An interface that defines methods to test collision between
two objects.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
CollisionStrategy.Contact
-
Constructor Summary
Constructors Constructor Description CollisionStrategy(long cPtr, boolean cMemoryOwn)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
delete()
static long
getCPtr(CollisionStrategy obj)
boolean
inCollision(Frame a, Transform3Dd wTa, Frame b, Transform3Dd wTb)
Checks to see if two given frames \mathcal{F}_a and
\mathcal{F}_b are in collisionboolean
inCollision(Frame a, Transform3Dd wTa, Frame b, Transform3Dd wTb, CollisionStrategyQueryType type)
Checks to see if two given frames \mathcal{F}_a and
\mathcal{F}_b are in collisionboolean
inCollision(Frame a, Transform3Dd wTa, Frame b, Transform3Dd wTb, ProximityStrategyData data)
Checks to see if two given frames \mathcal{F}_a and
\mathcal{F}_b are in collisionboolean
inCollision(Frame a, Transform3Dd wTa, Frame b, Transform3Dd wTb, ProximityStrategyData data, CollisionStrategyQueryType type)
Checks to see if two given frames \mathcal{F}_a and
\mathcal{F}_b are in collisionboolean
inCollision(ProximityModelPtr a, Transform3Dd wTa, ProximityModelPtr b, Transform3Dd wTb, ProximityStrategyData data)
Checks to see if two proximity models are in collisionstatic CollisionStrategyPtr
make(CollisionToleranceStrategyPtr strategy, double tolerance)
A collision strategy constructed from a collision tolerance
strategy and a resolution.
The constructed collision strategy considers a pair of geometries to
be in collision if strategy claim they are in collision for a
tolerance of tolerance.static CollisionStrategyPtr
make(CollisionToleranceStrategyPtr strategy, FrameMap frameToTolerance, double defaultTolerance)
A collision strategy constructed from a collision tolerance
strategy and a resolution.
The constructed collision strategy considers a pair of geometries to
be in collision if strategy claim they are in collision for a
tolerance of tolerance.-
Methods inherited from class org.robwork.sdurw.ProximityStrategy
addGeometry, addGeometry, addGeometry, addModel, addModel, addModel, addModel, clear, clearFrame, clearFrames, createModel, destroyModel, getCPtr, getGeometryIDs, getModel, hasModel, removeGeometry
-
-
-
-
Method Detail
-
getCPtr
public static long getCPtr(CollisionStrategy obj)
-
delete
public void delete()
- Overrides:
delete
in classProximityStrategy
-
inCollision
public boolean inCollision(Frame a, Transform3Dd wTa, Frame b, Transform3Dd wTb, CollisionStrategyQueryType type)
Checks to see if two given frames \mathcal{F}_a and
\mathcal{F}_b are in collision- Parameters:
a
- [in] \mathcal{F}_awTa
- [in] \robabx{w}{a}{\mathbf{T}}b
- [in] \mathcal{F}_bwTb
- [in] \robabx{w}{b}{\mathbf{T}}type
- [in] collision query type- Returns:
- true if \mathcal{F}_a and \mathcal{F}_b are
colliding, false otherwise.
-
inCollision
public boolean inCollision(Frame a, Transform3Dd wTa, Frame b, Transform3Dd wTb)
Checks to see if two given frames \mathcal{F}_a and
\mathcal{F}_b are in collision- Parameters:
a
- [in] \mathcal{F}_awTa
- [in] \robabx{w}{a}{\mathbf{T}}b
- [in] \mathcal{F}_bwTb
- [in] \robabx{w}{b}{\mathbf{T}}
- Returns:
- true if \mathcal{F}_a and \mathcal{F}_b are
colliding, false otherwise.
-
inCollision
public boolean inCollision(Frame a, Transform3Dd wTa, Frame b, Transform3Dd wTb, ProximityStrategyData data, CollisionStrategyQueryType type)
Checks to see if two given frames \mathcal{F}_a and
\mathcal{F}_b are in collision- Parameters:
a
- [in] \mathcal{F}_awTa
- [in] \robabx{w}{a}{\mathbf{T}}b
- [in] \mathcal{F}_bwTb
- [in] \robabx{w}{b}{\mathbf{T}}data
- [in/out] caching and result containertype
- [in] collision query type- Returns:
- true if \mathcal{F}_a and \mathcal{F}_b are
colliding, false otherwise.
-
inCollision
public boolean inCollision(Frame a, Transform3Dd wTa, Frame b, Transform3Dd wTb, ProximityStrategyData data)
Checks to see if two given frames \mathcal{F}_a and
\mathcal{F}_b are in collision- Parameters:
a
- [in] \mathcal{F}_awTa
- [in] \robabx{w}{a}{\mathbf{T}}b
- [in] \mathcal{F}_bwTb
- [in] \robabx{w}{b}{\mathbf{T}}data
- [in/out] caching and result container
- Returns:
- true if \mathcal{F}_a and \mathcal{F}_b are
colliding, false otherwise.
-
inCollision
public boolean inCollision(ProximityModelPtr a, Transform3Dd wTa, ProximityModelPtr b, Transform3Dd wTb, ProximityStrategyData data)
Checks to see if two proximity models are in collision- Parameters:
a
- [in] model 1wTa
- [in] transform of model ab
- [in] model 2wTb
- [in] transform of model bdata
- [in/out] caching and result container- Returns:
- true if \mathcal{F}_a and \mathcal{F}_b are
colliding, false otherwise.
-
make
public static CollisionStrategyPtr make(CollisionToleranceStrategyPtr strategy, double tolerance)
A collision strategy constructed from a collision tolerance
strategy and a resolution.
The constructed collision strategy considers a pair of geometries to
be in collision if strategy claim they are in collision for a
tolerance of tolerance.
-
make
public static CollisionStrategyPtr make(CollisionToleranceStrategyPtr strategy, FrameMap frameToTolerance, double defaultTolerance)
A collision strategy constructed from a collision tolerance
strategy and a resolution.
The constructed collision strategy considers a pair of geometries to
be in collision if strategy claim they are in collision for a
tolerance of tolerance.
-
-