Class CollisionStrategyPtr


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

      • 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
      • 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}_a
        wTa - [in] \robabx{w}{a}{\mathbf{T}}
        b - [in] \mathcal{F}_b
        wTb - [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}_a
        wTa - [in] \robabx{w}{a}{\mathbf{T}}
        b - [in] \mathcal{F}_b
        wTb - [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}_a
        wTa - [in] \robabx{w}{a}{\mathbf{T}}
        b - [in] \mathcal{F}_b
        wTb - [in] \robabx{w}{b}{\mathbf{T}}
        data - [in/out] caching and result container
        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,
                                   ProximityStrategyData data)
        Checks to see if two given frames \mathcal{F}_a and
        \mathcal{F}_b are in collision
        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 - [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 1
        wTa - [in] transform of model a
        b - [in] model 2
        wTb - [in] transform of model b
        data - [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 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​(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 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​(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 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​(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 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
        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