Package org.robwork.sdurw
Class CollisionStrategyPtr
- java.lang.Object
-
- org.robwork.sdurw.CollisionStrategyPtr
-
public class CollisionStrategyPtr extends java.lang.ObjectPtr stores a pointer and optionally takes ownership of the value.
-
-
Constructor Summary
Constructors Constructor Description CollisionStrategyPtr()Default constructor yielding a NULL-pointer.CollisionStrategyPtr(long cPtr, boolean cMemoryOwn)CollisionStrategyPtr(CollisionStrategy ptr)Do not take ownership of ptr.
ptr can be null.
The constructor is implicit on purpose.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description CollisionStrategy__ref__()Dereferencing operator.booleanaddGeometry(ProximityModel model, Geometry geom)adds geometry to a specific proximity model.booleanaddGeometry(ProximityModel model, GeometryPtr geom)adds geometry to a specific model.booleanaddGeometry(ProximityModel model, GeometryPtr geom, boolean forceCopy)adds geometry to a specific model.booleanaddModel(Frame frame, Geometry faces)Adds a Proximity model to a frame where the geometry is copied
in the underlying proximity strategy.
The Proximity model is constructed from the list of faces
booleanaddModel(Frame frame, GeometryPtr faces)Adds a Proximity model to a frame.
The Proximity model is constructed from the list of faces
booleanaddModel(Frame frame, GeometryPtr faces, boolean forceCopy)Adds a Proximity model to a frame.
The Proximity model is constructed from the list of faces
booleanaddModel(ObjectPtr object)Adds a Proximity model of a frame to this strategy.
The Proximity model is the one specified in the frames property
voidclear()Clears any stored model informationvoidclearFrame(Frame frame)Clear (remove all) model information for frame frame.voidclearFrames()Clear (remove all) model information for all frames.ProximityModelPtrcreateModel()creates an empty ProximityModelvoiddelete()CollisionStrategyderef()The pointer stored in the object.voiddestroyModel(ProximityModel model)deallocates the memory used for modelbooleanequals(CollisionStrategy p)static longgetCPtr(CollisionStrategyPtr obj)CollisionStrategygetDeref()Member access operator.VectorStringgetGeometryIDs(ProximityModel model)the list of all geometry ids that are associated to
the proximity model model is returnedProximityModelPtrgetModel(Frame frame)get the proximitymodel associated to frame.booleanhasModel(Frame frame)Tells whether the frame has a proximity model in the strategy
To have a proximity model does not means that it is loaded.booleaninCollision(Frame a, Transform3Dd wTa, Frame b, Transform3Dd wTb)Checks to see if two given frames \mathcal{F}_a and
\mathcal{F}_b are in collisionbooleaninCollision(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 collisionbooleaninCollision(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 collisionbooleaninCollision(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 collisionbooleaninCollision(ProximityModelPtr a, Transform3Dd wTa, ProximityModelPtr b, Transform3Dd wTb, ProximityStrategyData data)Checks to see if two proximity models are in collisionbooleanisNull()checks if the pointer is nullbooleanisShared()check if this Ptr has shared ownership or none
ownershipCollisionStrategyPtrmake(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.CollisionStrategyPtrmake(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.booleanremoveGeometry(ProximityModel model, java.lang.String geomId)removes a geometry from a specific proximity model
-
-
-
Constructor Detail
-
CollisionStrategyPtr
public CollisionStrategyPtr(long cPtr, boolean cMemoryOwn)
-
CollisionStrategyPtr
public CollisionStrategyPtr()
Default constructor yielding a NULL-pointer.
-
CollisionStrategyPtr
public CollisionStrategyPtr(CollisionStrategy ptr)
Do not take ownership of ptr.
ptr can be null.
The constructor is implicit on purpose.
-
-
Method Detail
-
getCPtr
public static long getCPtr(CollisionStrategyPtr obj)
-
delete
public void delete()
-
deref
public CollisionStrategy deref()
The pointer stored in the object.
-
__ref__
public CollisionStrategy __ref__()
Dereferencing operator.
-
getDeref
public CollisionStrategy getDeref()
Member access operator.
-
equals
public boolean equals(CollisionStrategy p)
-
isShared
public boolean isShared()
check if this Ptr has shared ownership or none
ownership- Returns:
- true if Ptr has shared ownership, false if it has no ownership.
-
isNull
public boolean isNull()
checks if the pointer is null- Returns:
- Returns true if the pointer is null
-
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 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 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.
-
addModel
public boolean addModel(ObjectPtr object)
Adds a Proximity model of a frame to this strategy.
The Proximity model is the one specified in the frames property
- Parameters:
object- [in] the frame on which the Proximity model is to be
created.
- Returns:
- true if a Proximity model was succesfully created and linked
with the frame; false otherwise.
-
addModel
public boolean addModel(Frame frame, Geometry faces)
Adds a Proximity model to a frame where the geometry is copied
in the underlying proximity strategy.
The Proximity model is constructed from the list of faces
- Parameters:
frame- [in] the frame to which the Proximity model should associatefaces- [in] list of faces from which to construct the Proximity model- Returns:
- true if a Proximity model was succesfully created and linked
with the frame; false otherwise.
-
addModel
public boolean addModel(Frame frame, GeometryPtr faces, boolean forceCopy)
Adds a Proximity model to a frame.
The Proximity model is constructed from the list of faces
- Parameters:
frame- [in] the frame to which the Proximity model should associatefaces- [in] list of faces from which to construct the Proximity modelforceCopy- [in] force the strategy to copy the geometry data, if false the
strategy may choose to store the geometry reference or not.- Returns:
- true if a Proximity model was succesfully created and linked
with the frame; false otherwise.
-
addModel
public boolean addModel(Frame frame, GeometryPtr faces)
Adds a Proximity model to a frame.
The Proximity model is constructed from the list of faces
- Parameters:
frame- [in] the frame to which the Proximity model should associatefaces- [in] list of faces from which to construct the Proximity model
- Returns:
- true if a Proximity model was succesfully created and linked
with the frame; false otherwise.
-
hasModel
public boolean hasModel(Frame frame)
Tells whether the frame has a proximity model in the strategy
To have a proximity model does not means that it is loaded. If a GeoID string from
which a model can be loaded it returns true as well
- Parameters:
frame- [in] the frame to check for1.0/- Returns:
- true if a model exists or can be created
-
clearFrame
public void clearFrame(Frame frame)
Clear (remove all) model information for frame frame.
-
clearFrames
public void clearFrames()
Clear (remove all) model information for all frames.
-
getModel
public ProximityModelPtr getModel(Frame frame)
get the proximitymodel associated to frame. If no model
has been associated to frame then NULL is returned.- Parameters:
frame- [in] frame for which an proximitymodel is associated
-
createModel
public ProximityModelPtr createModel()
creates an empty ProximityModel
-
destroyModel
public void destroyModel(ProximityModel model)
deallocates the memory used for model- Parameters:
model-
-
addGeometry
public boolean addGeometry(ProximityModel model, Geometry geom)
adds geometry to a specific proximity model. The proximity strategy copies all
data of the geometry.- Parameters:
model- [in] the proximity model to add data togeom- [in] the geometry that is to be added
-
addGeometry
public boolean addGeometry(ProximityModel model, GeometryPtr geom, boolean forceCopy)
adds geometry to a specific model. Depending on the option forceCopy the proximity
strategy may choose to copy the geometry data or use it directly.- Parameters:
model-geom-forceCopy-- Returns:
-
addGeometry
public boolean addGeometry(ProximityModel model, GeometryPtr geom)
adds geometry to a specific model. Depending on the option forceCopy the proximity
strategy may choose to copy the geometry data or use it directly.- Parameters:
model-geom-
- Returns:
-
removeGeometry
public boolean removeGeometry(ProximityModel model, java.lang.String geomId)
removes a geometry from a specific proximity model- Returns:
- true if succesfull
-
getGeometryIDs
public VectorString getGeometryIDs(ProximityModel model)
the list of all geometry ids that are associated to
the proximity model model is returned- Parameters:
model- [in] the model containing the geometries- Returns:
- all geometry ids associated to the proximity model
-
clear
public void clear()
Clears any stored model information
-
-