Class WorkCell


  • public class WorkCell
    extends java.lang.Object
    WorkCell keeps track of devices, obstacles and objects in the
    scene.

    WorkCell is a pretty dumb container to which you can add your devices and
    the frames you your GUI to show as objects or camera views.

    WorkCell is responsible for keeping track of everything including all
    devices, object and obstacles in the environment. WorkCell contains the
    World Frame, which represents the root and the only frame without a
    parent.
    • Constructor Detail

      • WorkCell

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

        public WorkCell​(java.lang.String name)
        Constructs an empty WorkCell

        Parameters:
        name - [in] The name of the workcell. A good name for the
        workcell would be the (eventual) file that the workcell was
        loaded from.
      • WorkCell

        public WorkCell​(StateStructurePtr tree,
                        java.lang.String name,
                        java.lang.String filename)
        Constructs a WorkCell

        Parameters:
        tree - [in] The (initial) tree structure of the WorkCell

        name - [in] The name of the workcell. A good name for the
        workcell would be the (eventual) file that the workcell was
        loaded from.

        filename - [in] The filename from which the workcell is
        loaded.
      • WorkCell

        public WorkCell​(StateStructurePtr tree,
                        java.lang.String name)
        Constructs a WorkCell

        Parameters:
        tree - [in] The (initial) tree structure of the WorkCell

        name - [in] The name of the workcell. A good name for the
        workcell would be the (eventual) file that the workcell was
        loaded from.

      • WorkCell

        public WorkCell​(StateStructurePtr tree)
        Constructs a WorkCell

        Parameters:
        tree - [in] The (initial) tree structure of the WorkCell



    • Method Detail

      • getCPtr

        public static long getCPtr​(WorkCell obj)
      • delete

        public void delete()
      • getName

        public java.lang.String getName()
        The name of the workcell or the empty string if no name
        was provided.
        Returns:
        the name of the workcell
      • getWorldFrame

        public Frame getWorldFrame()
        Returns pointer to the world frame

        Returns:
        Pointer to the world frame
      • addFrame

        public void addFrame​(Frame frame,
                             Frame parent)
        Deprecated.
        Since January 2018.
        Please use the addFrame method using smart pointers instead.
        Adds frame with parent as parent.

        If parent == NULL, then world is used as parent

        Parameters:
        frame - [in] Frame to add
        parent - [in] Parent frame - uses World is parent == NULL
      • addFrame

        public void addFrame​(Frame frame)
        Deprecated.
        Since January 2018.
        Please use the addFrame method using smart pointers instead.
        Adds frame with parent as parent.

        If parent == NULL, then world is used as parent

        Parameters:
        frame - [in] Frame to add

      • addFrame

        public void addFrame​(FramePtr frame,
                             FramePtr parent)
        Adds frame with parent as parent.

        If parent == NULL, then world is used as parent

        Parameters:
        frame - [in] Frame to add
        parent - [in] Parent frame - uses World is parent == NULL
      • addFrame

        public void addFrame​(FramePtr frame)
        Adds frame with parent as parent.

        If parent == NULL, then world is used as parent

        Parameters:
        frame - [in] Frame to add
      • addDAF

        public void addDAF​(Frame frame,
                           Frame parent)
        Deprecated.
        Since January 2018.
        Please use the addDAF method using smart pointers instead.
        Adds dynamically attachable frame (DAF) frame with
        parent as parent.

        If parent == NULL, then world is used as parent

        Parameters:
        frame - [in] Frame to add
        parent - [in] Parent frame - uses World is parent == NULL
      • addDAF

        public void addDAF​(Frame frame)
        Deprecated.
        Since January 2018.
        Please use the addDAF method using smart pointers instead.
        Adds dynamically attachable frame (DAF) frame with
        parent as parent.

        If parent == NULL, then world is used as parent

        Parameters:
        frame - [in] Frame to add

      • addDAF

        public void addDAF​(FramePtr frame,
                           FramePtr parent)
        Adds dynamically attachable frame (DAF) frame with
        parent as parent.

        If parent == NULL, then world is used as parent

        Parameters:
        frame - [in] Frame to add
        parent - [in] Parent frame - uses World is parent == NULL
      • addDAF

        public void addDAF​(FramePtr frame)
        Adds dynamically attachable frame (DAF) frame with
        parent as parent.

        If parent == NULL, then world is used as parent

        Parameters:
        frame - [in] Frame to add
      • remove

        public void remove​(Frame frame)
        Deprecated.
        Since January 2018.
        Please use remove(rw::core::Ptr<rw::kinematics::Frame>)
        instead.
        Removes frame from work cell
        Parameters:
        frame - [in] Frame to remove
      • remove

        public void remove​(FramePtr frame)
        Removes frame from work cell
        Parameters:
        frame - [in] Frame to remove
      • removeObject

        public void removeObject​(Object object)
        Removes object from workcell
        Parameters:
        object - [in] Object to remove
      • addDevice

        public void addDevice​(DevicePtr device)
        Adds a Device to the WorkCell.
        Ownership of device is taken.
        Parameters:
        device - [in] pointer to device.
      • getDevices

        public DevicePtrVector getDevices()
        Returns a reference to a vector with pointers to the
        Device(s) in the WorkCell
        Returns:
        const vector with pointers to Device(s).
      • findFrame

        public Frame findFrame​(java.lang.String name)
        Returns frame with the specified name.

        If multiple frames has the same name, the first frame encountered
        will be returned. If no frame is found, the method returns NULL.

        Parameters:
        name - [in] name of Frame.

        Returns:
        The frame with name name or NULL if no such frame.
      • findMovableFrame

        public MovableFrame findMovableFrame​(java.lang.String name)
        Returns MovableFrame with the specified name.

        If multiple frames has the same name, the first frame encountered
        will be returned. If no frame is found, the method returns NULL.

        Parameters:
        name - [in] name of Frame.

        Returns:
        The MovableFrame with name name or NULL if no such frame.
      • findFixedFrame

        public FixedFrame findFixedFrame​(java.lang.String name)
        Returns FixedFrame with the specified name.

        If multiple frames has the same name, the first frame encountered
        will be returned. If no frame is found, the method returns NULL.

        Parameters:
        name - [in] name of Frame.

        Returns:
        The FixedFrame with name name or NULL if no such frame.
      • findMovableFrames

        public MovableFrameVector findMovableFrames()
        Returns all MovableFrames.
        Returns:
        all frames of type MovableFrames in the workcell
      • findFixedFrames

        public VectorFixedFrame findFixedFrames()
        Returns all FixedFrame.
        Returns:
        all frames of type FixedFrame in the workcell
      • getFrames

        public FrameVector getFrames()
        Returns all frames in workcell
        Returns:
        List of all frames
      • findDevice

        public DevicePtr findDevice​(java.lang.String name)
        The device named name of the workcell.

        NULL is returned if there is no such device.

        Parameters:
        name - [in] The device name

        Returns:
        The device named name or NULL if no such device.
      • findJointDevice

        public JointDevicePtr findJointDevice​(java.lang.String name)
        The device named name of the workcell.

        NULL is returned if there is no such device.

        Parameters:
        name - [in] The device name

        Returns:
        The device named name or NULL if no such device.
      • findSerialDevice

        public SerialDevicePtr findSerialDevice​(java.lang.String name)
        The device named name of the workcell.

        NULL is returned if there is no such device.

        Parameters:
        name - [in] The device name

        Returns:
        The device named name or NULL if no such device.
      • findTreeDevice

        public TreeDevicePtr findTreeDevice​(java.lang.String name)
        The device named name of the workcell.

        NULL is returned if there is no such device.

        Parameters:
        name - [in] The device name

        Returns:
        The device named name or NULL if no such device.
      • findParallelDevice

        public ParallelDevicePtr findParallelDevice​(java.lang.String name)
        The device named name of the workcell.

        NULL is returned if there is no such device.

        Parameters:
        name - [in] The device name

        Returns:
        The device named name or NULL if no such device.
      • findJointDevices

        public JointDevicePtrVector findJointDevices()
        Returns a vector with pointers to the Device(s) with a
        specific type JointDevice in the WorkCell

        Returns:
        vector with pointers to Device(s) of type T.
      • findSerialDevices

        public SerialDevicePtrVector findSerialDevices()
        Returns a vector with pointers to the Device(s) with a
        specific type SerialDevice in the WorkCell

        Returns:
        vector with pointers to Device(s) of type T.
      • findTreeDevices

        public TreeDevicePtrVector findTreeDevices()
        Returns a vector with pointers to the Device(s) with a
        specific type TreeDevice in the WorkCell

        Returns:
        vector with pointers to Device(s) of type T.
      • findParallelDevices

        public ParallelDevicePtrVector findParallelDevices()
        Returns a vector with pointers to the Device(s) with a
        specific type ParallelDevice in the WorkCell

        Returns:
        vector with pointers to Device(s) of type T.
      • getDefaultState

        public State getDefaultState()
        Returns a default State

        Returns:
        default State
      • findSensor

        public SensorModelPtr findSensor​(java.lang.String name)
        Returns sensor with the specified name.

        If multiple sensors has the same name, the first sensor
        encountered will be returned. If no sensor is found, the method
        returns NULL.

        Parameters:
        name - [in] name of sensor.

        Returns:
        The sensor with name name or NULL if no such sensor.
      • getSensors

        public VectorSensorModelPtr getSensors()
        Returns all frames in workcell
        Returns:
        List of all frames
      • findController

        public ControllerModelPtr findController​(java.lang.String name)
        Returns controller with the specified name.

        If multiple controlelrs has the same name, the first controller
        encountered will be returned. If no controller is found, the
        method returns NULL.

        Parameters:
        name - [in] name of controller.

        Returns:
        The controller with name name or NULL if no such
        controller.
      • getControllers

        public ControllerModelPtrVector getControllers()
        Returns all controllers in workcell
        Returns:
        List of all controllers
      • getObjects

        public ObjectPtrVector getObjects()
        Returns all object in the work cell

        Returns:
        All object in work cell
      • findObject

        public ObjectPtr findObject​(java.lang.String name)
        The object named name of the workcell.

        NULL is returned if there is no such object.

        Parameters:
        name - [in] The object name

        Returns:
        The object named name or NULL if no such object.
      • add

        public void add​(DevicePtr device)
        Add device to workcell
      • add

        public void add​(ObjectPtr object)
        Add object to workcell
      • add

        public void add​(SensorModelPtr sensor)
        Add sensormodel to workcell
      • add

        public void add​(ControllerModelPtr controller)
        Add controllermodel to workcell
      • remove

        public void remove​(ObjectPtr object)
        Remove object from workcell
      • remove

        public void remove​(DevicePtr device)
        Remove device from workcell
      • remove

        public void remove​(SensorModelPtr sensor)
        Remove sensormodel from workcell
      • remove

        public void remove​(ControllerModelPtr controller)
        Remove controllermodel from workcell
      • getStateStructure

        public StateStructurePtr getStateStructure()
        gets the complete state structure of the workcell.
        Returns:
        the state structure of the workcell.
      • workCellChangedEvent

        public WorkCellChangedEvent workCellChangedEvent()
        Returns the work cell changed event
        Returns:
      • getPropertyMap

        public PropertyMap getPropertyMap()
        Properties of this workcell
      • getCollisionSetup

        public CollisionSetup getCollisionSetup()
        Returns collision setup associated to work cell

        Returns:
        Collision setup
      • getFilename

        public java.lang.String getFilename()
        Returns the full path and filename of the workcell.

        If the workcell is loaded from file, then this method returns the
        full filename. Otherwise it returns an empty string.
      • getFilePath

        public java.lang.String getFilePath()
        Returns the path of where the work cell is located

        If the workcell is not loaded from file, it returns an empty
        string
      • getCalibrationFilename

        public java.lang.String getCalibrationFilename()
        Returns the filename of the calibration associated to the
        work cell.

        Returns an empty string in case no calibration is associated.

        To load the file use the getFilePath()+getCalibrationFilename()
        to get the absolute location
      • setCalibrationFilename

        public void setCalibrationFilename​(java.lang.String calibrationFilename)
        Sets the filename of the calibration file

        Parameters:
        calibrationFilename - [in] Filename of calibration file with
        path relative to the work cell path.