Package org.robwork.sdurw_models
Class WorkCell
- java.lang.Object
-
- org.robwork.sdurw_models.WorkCell
-
public class WorkCell extends java.lang.ObjectWorkCell 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.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classWorkCell.WorkCellEventTypeWorkCell Event Types.
-
Constructor Summary
Constructors Constructor Description WorkCell(long cPtr, boolean cMemoryOwn)WorkCell(java.lang.String name)Constructs an empty WorkCell
WorkCell(StateStructurePtr tree)Constructs a WorkCell
WorkCell(StateStructurePtr tree, java.lang.String name)Constructs a WorkCell
WorkCell(StateStructurePtr tree, java.lang.String name, java.lang.String filename)Constructs a WorkCell
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidadd(ControllerModelPtr controller)Add controllermodel to workcellvoidadd(DevicePtr device)Add device to workcellvoidadd(ObjectPtr object)Add object to workcellvoidadd(SensorModelPtr sensor)Add sensormodel to workcellvoidaddDAF(FramePtr frame)Adds dynamically attachable frame (DAF) frame with
parent as parent.
If parent == NULL, then world is used as parent
voidaddDAF(FramePtr frame, FramePtr parent)Adds dynamically attachable frame (DAF) frame with
parent as parent.
If parent == NULL, then world is used as parent
voidaddDevice(DevicePtr device)Adds a Device to the WorkCell.
Ownership of device is taken.
voidaddFrame(FramePtr frame)Adds frame with parent as parent.
If parent == NULL, then world is used as parent
voidaddFrame(FramePtr frame, FramePtr parent)Adds frame with parent as parent.
If parent == NULL, then world is used as parent
voiddelete()ControllerModelPtrfindController(java.lang.String name)Returns controller with the specified name.
If multiple controlelrs has the same name, the first controller
encountered will be returned.DevicePtrfindDevice(java.lang.String name)The device named name of the workcell.
NULL is returned if there is no such device.
FixedFramefindFixedFrame(java.lang.String name)Returns FixedFrame with the specified name.
If multiple frames has the same name, the first frame encountered
will be returned.VectorFixedFramefindFixedFrames()Returns all FixedFrame.FramefindFrame(java.lang.String name)Returns frame with the specified name.
If multiple frames has the same name, the first frame encountered
will be returned.JointDevicePtrfindJointDevice(java.lang.String name)The device named name of the workcell.
NULL is returned if there is no such device.
JointDevicePtrVectorfindJointDevices()Returns a vector with pointers to the Device(s) with a
specific type JointDevice in the WorkCell
MovableFramefindMovableFrame(java.lang.String name)Returns MovableFrame with the specified name.
If multiple frames has the same name, the first frame encountered
will be returned.MovableFrameVectorfindMovableFrames()Returns all MovableFrames.ObjectPtrfindObject(java.lang.String name)The object named name of the workcell.
NULL is returned if there is no such object.
ParallelDevicePtrfindParallelDevice(java.lang.String name)The device named name of the workcell.
NULL is returned if there is no such device.
VectorParallelDevicePtrfindParallelDevices()Returns a vector with pointers to the Device(s) with a
specific type ParallelDevice in the WorkCell
SensorModelPtrfindSensor(java.lang.String name)Returns sensor with the specified name.
If multiple sensors has the same name, the first sensor
encountered will be returned.SerialDevicePtrfindSerialDevice(java.lang.String name)The device named name of the workcell.
NULL is returned if there is no such device.
VectorSerialDevicePtrfindSerialDevices()Returns a vector with pointers to the Device(s) with a
specific type SerialDevice in the WorkCell
TreeDevicePtrfindTreeDevice(java.lang.String name)The device named name of the workcell.
NULL is returned if there is no such device.
VectorTreeDevicePtrfindTreeDevices()Returns a vector with pointers to the Device(s) with a
specific type TreeDevice in the WorkCell
java.lang.StringgetCalibrationFilename()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 locationSWIGTYPE_p_rw__proximity__CollisionSetupgetCollisionSetup()Returns collision setup associated to work cellControllerModelPtrVectorgetControllers()Returns all controllers in workcellstatic longgetCPtr(WorkCell obj)StategetDefaultState()Returns a default StateDevicePtrVectorgetDevices()Returns a reference to a vector with pointers to the
Device(s) in the WorkCell
java.lang.StringgetFilename()Returns the full path and filename of the workcell.
If the workcell is loaded from file, then this method returns the
full filename.java.lang.StringgetFilePath()Returns the path of where the work cell is located
If the workcell is not loaded from file, it returns an empty
stringFrameVectorgetFrames()Returns all frames in workcelljava.lang.StringgetName()The name of the workcell or the empty string if no name
was provided.ObjectPtrVectorgetObjects()Returns all object in the work cell
PropertyMapgetPropertyMap()Properties of this workcellSWIGTYPE_p_rw__core__PtrT_rw__graphics__SceneDescriptor_tgetSceneDescriptor()Get the scene descriptor.VectorSensorModelPtrgetSensors()Returns all frames in workcellStateStructurePtrgetStateStructure()gets the complete state structure of the workcell.FramegetWorldFrame()Returns pointer to the world frame
voidremove(FramePtr frame)Deprecated.Since January 2018.
Please use remove(rw::core::Ptr<rw::kinematics::Frame>)
instead.voidremove(ControllerModelPtr controller)Remove controllermodel from workcellvoidremove(DevicePtr device)Remove device from workcellvoidremove(ObjectPtr object)Remove object from workcellvoidremove(SensorModelPtr sensor)Remove sensormodel from workcellvoidremoveObject(Object object)Removes object from workcell
voidsetCalibrationFilename(java.lang.String calibrationFilename)Sets the filename of the calibration file
voidsetDefaultState(State state)set the default state of the WorkCell.
if the given state is an older state then states valid in both
new and old version will be copied to the default state.voidsetSceneDescriptor(SWIGTYPE_p_rw__core__PtrT_rw__graphics__SceneDescriptor_t scene)Set the scene descriptor.java.lang.StringtoString()
-
-
-
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(FramePtr frame, FramePtr parent)
Adds frame with parent as parent.
If parent == NULL, then world is used as parent
- Parameters:
frame- [in] Frame to addparent- [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(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 addparent- [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(FramePtr 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
-
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 rw::models::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.
-
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.
-
getDefaultState
public State getDefaultState()
Returns a default State- Returns:
- default State
-
setDefaultState
public void setDefaultState(State state)
set the default state of the WorkCell.
if the given state is an older state then states valid in both
new and old version will be copied to the 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.
-
getPropertyMap
public PropertyMap getPropertyMap()
Properties of this workcell
-
getCollisionSetup
public SWIGTYPE_p_rw__proximity__CollisionSetup getCollisionSetup()
Returns collision setup associated to work cell- Returns:
- Collision setup
-
getSceneDescriptor
public SWIGTYPE_p_rw__core__PtrT_rw__graphics__SceneDescriptor_t getSceneDescriptor()
Get the scene descriptor.- Returns:
- the scene descriptor.
-
setSceneDescriptor
public void setSceneDescriptor(SWIGTYPE_p_rw__core__PtrT_rw__graphics__SceneDescriptor_t scene)
Set the scene descriptor.- Parameters:
scene- [in] the scene descriptor.
-
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.
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
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
-
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 VectorSerialDevicePtr 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 VectorTreeDevicePtr 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 VectorParallelDevicePtr 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.
-
-