Package org.robwork.sdurw_proximity
Class DistanceMultiStrategy
- java.lang.Object
-
- org.robwork.sdurw_proximity.ProximityStrategy
-
- org.robwork.sdurw_proximity.DistanceMultiStrategy
-
public class DistanceMultiStrategy extends ProximityStrategy
This interface allows the definition of computing all points between two
geometric objects that are closer than a specified tolerance. See ProxmityStrategy on
how to add geometry to the strategy.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
DistanceMultiStrategy.DistanceMultiStrategyFactory
A factory for a DistanceMultiStrategy.static class
DistanceMultiStrategy.DistanceMultiStrategyResult
DistanceResult contains basic information about the distance
result between two frames.-
Nested classes/interfaces inherited from class org.robwork.sdurw_proximity.ProximityStrategy
ProximityStrategy.ProximityStrategyFactory
-
-
Constructor Summary
Constructors Constructor Description DistanceMultiStrategy(long cPtr, boolean cMemoryOwn)
-
Method Summary
-
Methods inherited from class org.robwork.sdurw_proximity.ProximityStrategy
addGeometry, addGeometry, addGeometry, addModel, addModel, addModel, addModel, clear, clearFrame, clearFrames, createModel, destroyModel, getCPtr, getGeometries, getGeometryIDs, getModel, hasModel, removeGeometry, useThreads
-
-
-
-
Method Detail
-
getCPtr
public static long getCPtr(DistanceMultiStrategy obj)
-
delete
public void delete()
- Overrides:
delete
in classProximityStrategy
-
distances
public DistanceMultiStrategy.DistanceMultiStrategyResult distances(FramePtr a, Transform3D wTa, FramePtr b, Transform3D wTb, double tolerance)
Calculates all distances between geometry of two given frames \mathcal{F}_a and
\mathcal{F}_b- Parameters:
a
- [in] \mathcal{F}_awTa
- [in] \robabx{w}{a}{\mathbf{T}}b
- [in] \mathcal{F}_bwTb
- [in] \robabx{w}{b}{\mathbf{T}}tolerance
- [in] point pairs that are closer than tolerance will
be included in the result.
- Returns:
- shortest distance if \mathcal{F}_a and \mathcal{F}_b are
separated and not in collision.
-
distances
public DistanceMultiStrategy.DistanceMultiStrategyResult distances(FramePtr a, Transform3D wTa, FramePtr b, Transform3D wTb, double tolerance, ProximityStrategyData data)
Calculates all distances between geometry of two given frames \mathcal{F}_a and
\mathcal{F}_b- Parameters:
a
- [in] \mathcal{F}_awTa
- [in] \robabx{w}{a}{\mathbf{T}}b
- [in] \mathcal{F}_bwTb
- [in] \robabx{w}{b}{\mathbf{T}}tolerance
- [in] point pairs that are closer than tolerance will be included in the
result.data
-
- Returns:
- shortest distance if \mathcal{F}_a and \mathcal{F}_b are
separated and not in collision.
-
distances
public DistanceMultiStrategy.DistanceMultiStrategyResult distances(ProximityModelPtr a, Transform3D wTa, ProximityModelPtr b, Transform3D wTb, double tolerance, ProximityStrategyData data)
-
getSurfaceNormals
public SWIGTYPE_p_std__pairT_rw__math__Vector3DT_double_t_rw__math__Vector3DT_double_t_t getSurfaceNormals(DistanceMultiStrategy.DistanceMultiStrategyResult res, int idx)
Get the Surface Normals
- Parameters:
res
- the result to get the normals fromidx
-- Returns:
- std::pair<rw::math::Vector3D<>, rw::math::Vector3D<>>
-
-