Class DistanceMultiStrategyPtr


  • public class DistanceMultiStrategyPtr
    extends java.lang.Object
    Ptr stores a pointer and optionally takes ownership of the value.
    • Constructor Detail

      • DistanceMultiStrategyPtr

        public DistanceMultiStrategyPtr​(long cPtr,
                                        boolean cMemoryOwn)
      • DistanceMultiStrategyPtr

        public DistanceMultiStrategyPtr()
        Default constructor yielding a NULL-pointer.
      • DistanceMultiStrategyPtr

        public DistanceMultiStrategyPtr​(DistanceMultiStrategy ptr)
        Do not take ownership of ptr.

        ptr can be null.

        The constructor is implicit on purpose.
    • Method Detail

      • delete

        public void delete()
      • 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
      • 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}_a
        wTa - [in] \robabx{w}{a}{\mathbf{T}}
        b - [in] \mathcal{F}_b
        wTb - [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}_a
        wTa - [in] \robabx{w}{a}{\mathbf{T}}
        b - [in] \mathcal{F}_b
        wTb - [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.
      • 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 associate
        faces - [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 associate
        faces - [in] list of faces from which to construct the Proximity model
        forceCopy - [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 associate
        faces - [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 to
        geom - [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.