Class DeformableObjectPtr


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

      • DeformableObjectPtr

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

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

        public DeformableObjectPtr​(DeformableObject 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
      • getNode

        public Vector3Df getNode​(int id,
                                 State state)
        get a specific node from the state
        Parameters:
        id - [in] id of the node to fetch
        state - [in] current state
        Returns:
        handle to manipulate a node in the given state.
      • setNode

        public void setNode​(int id,
                            Vector3Df v,
                            State state)
        set the value of a specific node in the state.
        Parameters:
        id - [in] id of the node
        v - [in] value to set.
        state - [in] state in which to set the value.
      • getNrNodes

        public long getNrNodes​(State state)
        get the number of controlling nodes of this deformable object.
        Parameters:
        state - [in]
        Returns:
      • getNrNodes

        public long getNrNodes()
        get the number of controlling nodes of this deformable object.
        Returns:
        Number of Nodes
      • getFaces

        public IndexedTriangleU16Vector getFaces()
        get all faces of this soft body
        Returns:
        list of indexed triangles - indeces point to vertices/nodes
      • addFace

        public void addFace​(long node1,
                            long node2,
                            long node3)
        add a face to three existing nodes
        Parameters:
        node1 - [in] idx of node 1
        node2 - [in] idx of node 2
        node3 - [in] idx of node 3
      • getMass

        public double getMass​(State state)
        get mass in Kg of this object
        Parameters:
        state - [in] the state
        Returns:
        mass in kilo grams
      • getCOM

        public Vector3Dd getCOM​(State state)
        get center of mass of this object
        Parameters:
        state - [in] the state in which to get center of mass
        Returns:
        Position of COM
      • getInertia

        public InertiaMatrixd getInertia​(State state)
        returns the inertia matrix of this body calculated around COM with the orientation
        of the base frame.
        Parameters:
        state - [in] the state to get the inertia in
        Returns:
        matrix with inertia
      • update

        public void update​(Model3DPtr model,
                           State state)
        updates the model with the current state of the deformable model
        Parameters:
        model - [in/out] model to be updated
        state -
      • getName

        public java.lang.String getName()
        get name of this object. Name is always the same as the name of the
        base frame.
        Returns:
        name of object.
      • getBase

        public Frame getBase()
        get base frame of this object
        Returns:
        base frame of object
      • getFrames

        public FrameVector getFrames()
        get all associated frames of this object
        Returns:
        a vector of frames
      • addFrame

        public void addFrame​(Frame frame)
        associate a frame to this Object.
        Parameters:
        frame - [in] frame to associate to object
      • getGeometry

        public GeometryPtrVector getGeometry()
        get default geometries
        Returns:
        geometry for collision detection
      • getGeometry

        public GeometryPtrVector getGeometry​(State state)
        get geometry of this object
        Returns:
        geometry for collision detection.
      • getModels

        public Model3DPtrVector getModels()
        get the default models
        Returns:
        models for vizualization
      • getModels

        public Model3DPtrVector getModels​(State state)
        get visualization models of this object
        Returns:
        models for visualization
      • registerIn

        public void registerIn​(State state)
        initialize this stateless data to a specific state
        Parameters:
        state - [in] the state in which to register the data.

        Note: the data will be registered in the state structure of the state
        and any copies or other instances of the state will therefore also
        contain the added states.
      • registerIn

        public void registerIn​(StateStructurePtr state)
        register this stateless object in a statestructure.
      • unregister

        public void unregister()
        unregisters all state data of this stateless object
      • getStateStructure

        public StateStructurePtr getStateStructure()
        Get the state structure.
        Returns:
        the state structure.
      • isRegistered

        public boolean isRegistered()
        Check if object has registered its state.
        Returns:
        true if registered, false otherwise.