Class DistanceStrategyPtr


  • public class DistanceStrategyPtr
    extends java.lang.Object
    Ptr stores a pointer and optionally takes ownership of the value.
    • 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

      • 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
      • 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}_a
        wTa - [in] \robabx{w}{a}{\mathbf{T}}
        b - [in] \mathcal{F}_b
        wTb - [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}_a
        wTa - [in] \robabx{w}{a}{\mathbf{T}}
        b - [in] \mathcal{F}_b
        wTb - [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}_a
        wTa - [in] \robabx{w}{a}{\mathbf{T}}
        b - [in] \mathcal{F}_b
        wTb - [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}_a
        wTa - [in] \robabx{w}{a}{\mathbf{T}}
        b - [in] \mathcal{F}_b
        wTb - [in] \robabx{w}{b}{\mathbf{T}}
        threshold - [in] threshold for distance calculations
        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,
                                                                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}_a
        wTa - [in] \robabx{w}{a}{\mathbf{T}}
        b - [in] \mathcal{F}_b
        wTb - [in] \robabx{w}{b}{\mathbf{T}}
        threshold - [in] threshold for distance calculations
        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.