Package org.robwork.sdurw_proximity
Class DistanceStrategyPtr
- java.lang.Object
-
- org.robwork.sdurw_proximity.DistanceStrategyPtr
-
public class DistanceStrategyPtr extends java.lang.Object
Ptr stores a pointer and optionally takes ownership of the value.
-
-
Constructor Summary
Constructors Constructor Description DistanceStrategyPtr()
Default constructor yielding a NULL-pointer.DistanceStrategyPtr(long cPtr, boolean cMemoryOwn)
DistanceStrategyPtr(DistanceStrategy 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 DistanceStrategy
__ref__()
Dereferencing operator.boolean
addGeometry(ProximityModel model, Geometry geom)
adds geometry to a specific proximity model.boolean
addGeometry(ProximityModel model, GeometryPtr geom)
adds geometry to a specific model.boolean
addGeometry(ProximityModel model, GeometryPtr geom, boolean forceCopy)
adds geometry to a specific model.boolean
addModel(FramePtr 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
boolean
addModel(FramePtr frame, GeometryPtr faces)
Adds a Proximity model to a frame.
The Proximity model is constructed from the list of faces
boolean
addModel(FramePtr frame, GeometryPtr faces, boolean forceCopy)
Adds a Proximity model to a frame.
The Proximity model is constructed from the list of faces
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
void
clear()
Clears any stored model informationvoid
clearFrame(FramePtr frame)
Clear (remove all) model information for frame frame.void
clearFrames()
Clear (remove all) model information for all frames.DistanceStrategyCPtr
cptr()
ProximityModelPtr
createModel()
creates an empty ProximityModelvoid
delete()
DistanceStrategy
deref()
The pointer stored in the object.void
destroyModel(ProximityModel model)
deallocates the memory used for modelDistanceStrategy.DistanceStrategyResult
distance(FramePtr a, Transform3D wTa, FramePtr b, Transform3D wTb)
Calculates the distance between two given frames \mathcal{F}_a and
\mathcal{F}_b
Conditional comment:
End of conditional comment.DistanceStrategy.DistanceStrategyResult
distance(FramePtr a, Transform3D wTa, FramePtr b, Transform3D wTb, double threshold)
Calculates the distance between two given frames \mathcal{F}_a and
\mathcal{F}_b if the distance are within threshold.DistanceStrategy.DistanceStrategyResult
distance(FramePtr a, Transform3D wTa, FramePtr b, Transform3D wTb, double threshold, ProximityStrategyData data)
Calculates the distance between two given frames \mathcal{F}_a and
\mathcal{F}_b if the distance are within threshold.DistanceStrategy.DistanceStrategyResult
distance(FramePtr a, Transform3D wTa, FramePtr b, Transform3D wTb, ProximityStrategyData data)
Calculates the distance between two given frames \mathcal{F}_a and
\mathcal{F}_b
Conditional comment:
End of conditional comment.DistanceStrategy.DistanceStrategyResult
distance(ProximityModelPtr a, Transform3D wTa, ProximityModelPtr b, Transform3D wTb, double threshold, ProximityStrategyData data)
Calculates the distance between two given frames \mathcal{F}_a and
\mathcal{F}_b if the distance are within threshold.DistanceStrategy.DistanceStrategyResult
distance(ProximityModelPtr a, Transform3D wTa, ProximityModelPtr b, Transform3D wTb, ProximityStrategyData data)
Calculates the distance between two proximity models \mathcal{a} and
\mathcal{b}
Conditional comment:
End of conditional comment.boolean
equals(DistanceStrategy p)
static long
getCPtr(DistanceStrategyPtr obj)
DistanceStrategy
getDeref()
Member access operator.VectorGeometryPtr
getGeometries(ProximityModel model)
the list of all geometry that are associated to
the proximity model model is returnedvector_s
getGeometryIDs(ProximityModel model)
the list of all geometry ids that are associated to
the proximity model model is returnedProximityModelPtr
getModel(FramePtr frame)
get the proximitymodel associated to frame.boolean
hasModel(FramePtr frame)
Tells whether the frame has a proximity model in the strategy
To have a proximity model does not means that it is loaded.boolean
isNull()
checks if the pointer is nullboolean
isShared()
check if this Ptr has shared ownership or none
ownershipboolean
removeGeometry(ProximityModel model, java.lang.String geomId)
removes a geometry from a specific proximity modelvoid
useThreads(int threads)
setNumber of threads the strategy may use
-
-
-
Constructor Detail
-
DistanceStrategyPtr
public DistanceStrategyPtr(long cPtr, boolean cMemoryOwn)
-
DistanceStrategyPtr
public DistanceStrategyPtr()
Default constructor yielding a NULL-pointer.
-
DistanceStrategyPtr
public DistanceStrategyPtr(DistanceStrategy ptr)
Do not take ownership of ptr.
ptr can be null.
The constructor is implicit on purpose.
-
-
Method Detail
-
getCPtr
public static long getCPtr(DistanceStrategyPtr obj)
-
delete
public void delete()
-
deref
public DistanceStrategy deref()
The pointer stored in the object.
-
__ref__
public DistanceStrategy __ref__()
Dereferencing operator.
-
getDeref
public DistanceStrategy getDeref()
Member access operator.
-
equals
public boolean equals(DistanceStrategy 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
-
cptr
public DistanceStrategyCPtr cptr()
-
distance
public DistanceStrategy.DistanceStrategyResult distance(FramePtr a, Transform3D wTa, FramePtr b, Transform3D wTb)
Calculates the distance between two given frames \mathcal{F}_a and
\mathcal{F}_b
Conditional comment:
End of conditional comment.- Parameters:
a
- [in] \mathcal{F}_awTa
- [in] \robabx{w}{a}{\mathbf{T}}b
- [in] \mathcal{F}_bwTb
- [in] \robabx{w}{b}{\mathbf{T}}- Returns:
- shortest distance if \mathcal{F}_a and \mathcal{F}_b are
separated and not in collision.
-
distance
public DistanceStrategy.DistanceStrategyResult distance(FramePtr a, Transform3D wTa, FramePtr b, Transform3D wTb, ProximityStrategyData data)
Calculates the distance between two given frames \mathcal{F}_a and
\mathcal{F}_b
Conditional comment:
End of conditional comment.- Parameters:
a
- [in] \mathcal{F}_awTa
- [in] \robabx{w}{a}{\mathbf{T}}b
- [in] \mathcal{F}_bwTb
- [in] \robabx{w}{b}{\mathbf{T}}data
-- Returns:
- shortest distance if \mathcal{F}_a and \mathcal{F}_b are
separated and not in collision.
-
distance
public DistanceStrategy.DistanceStrategyResult distance(ProximityModelPtr a, Transform3D wTa, ProximityModelPtr b, Transform3D wTb, ProximityStrategyData data)
Calculates the distance between two proximity models \mathcal{a} and
\mathcal{b}
Conditional comment:
End of conditional comment.- Parameters:
a
- [in] \mathcal{F}_awTa
- [in] \robabx{w}{a}{\mathbf{T}}b
- [in] \mathcal{F}_bwTb
- [in] \robabx{w}{b}{\mathbf{T}}data
-- Returns:
- shortest distance if \mathcal{F}_a and \mathcal{F}_b are
separated and not in collision.
-
distance
public DistanceStrategy.DistanceStrategyResult distance(FramePtr a, Transform3D wTa, FramePtr b, Transform3D wTb, double threshold)
Calculates the distance between two given frames \mathcal{F}_a and
\mathcal{F}_b if the distance are within threshold. If the distance
between the frames are larger than the threshold, the result will be inaccurate.
Conditional comment:
End of conditional comment.- Parameters:
a
- [in] \mathcal{F}_awTa
- [in] \robabx{w}{a}{\mathbf{T}}b
- [in] \mathcal{F}_bwTb
- [in] \robabx{w}{b}{\mathbf{T}}threshold
- [in] threshold for distance calculations- Returns:
- shortest distance if \mathcal{F}_a and \mathcal{F}_b are
separated and not in collision.
-
distance
public DistanceStrategy.DistanceStrategyResult distance(FramePtr a, Transform3D wTa, FramePtr b, Transform3D wTb, double threshold, ProximityStrategyData data)
Calculates the distance between two given frames \mathcal{F}_a and
\mathcal{F}_b if the distance are within threshold. If the distance
between the frames are larger than the threshold, the result will be inaccurate.- Parameters:
a
- [in] \mathcal{F}_awTa
- [in] \robabx{w}{a}{\mathbf{T}}b
- [in] \mathcal{F}_bwTb
- [in] \robabx{w}{b}{\mathbf{T}}threshold
- [in] threshold for distance calculationsdata
-- Returns:
- shortest distance if \mathcal{F}_a and \mathcal{F}_b are
separated and not in collision.
-
distance
public DistanceStrategy.DistanceStrategyResult distance(ProximityModelPtr a, Transform3D wTa, ProximityModelPtr b, Transform3D wTb, double threshold, ProximityStrategyData data)
Calculates the distance between two given frames \mathcal{F}_a and
\mathcal{F}_b if the distance are within threshold. If the distance
between the frames are larger than the threshold, the result will be inaccurate.
Conditional comment:
End of conditional comment.- Parameters:
a
- [in] \mathcal{F}_awTa
- [in] \robabx{w}{a}{\mathbf{T}}b
- [in] \mathcal{F}_bwTb
- [in] \robabx{w}{b}{\mathbf{T}}threshold
- [in] threshold for distance calculationsdata
-- Returns:
- shortest distance if \mathcal{F}_a and \mathcal{F}_b are
separated and not in collision.
-
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(FramePtr 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(FramePtr 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(FramePtr 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(FramePtr 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(FramePtr 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(FramePtr 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
-
getGeometryIDs
public vector_s 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
-
getGeometries
public VectorGeometryPtr getGeometries(ProximityModel model)
the list of all geometry that are associated to
the proximity model model is returned- Parameters:
model
- [in] the model containing the geometries- Returns:
- all geometry associated to the proximity model
-
clear
public void clear()
Clears any stored model information
-
useThreads
public void useThreads(int threads)
setNumber of threads the strategy may use- Parameters:
threads
- [in] number of threads. if Threads <= 0 then maximum threads available
Note: this does not enforce the use of threads in the algorithms but mearly allows for
the use.
-
-