RobWorkProject
23.9.11-
|
Helper for building Dynamic Workcells. More...
#include <DynamicWorkCellBuilder.hpp>
Classes | |
struct | ColorScheme |
Color scheme specification. More... | |
struct | PaHColors |
Default color scheme. More... | |
Public Member Functions | |
DynamicWorkCellBuilder (const ColorScheme &colors=PaHColors()) | |
Create new builder with given color scheme. More... | |
virtual | ~DynamicWorkCellBuilder () |
Destructor. | |
void | addFloor (rw::core::Ptr< rwsim::dynamics::DynamicWorkCell > dwc, const std::string &name="Floor", bool trimesh=false) const |
Add a fixed floor. More... | |
void | addPlane (rw::core::Ptr< rwsim::dynamics::DynamicWorkCell > dwc, const rw::math::Vector3D<> &n, double d, const std::string &name="Plane", bool trimesh=false) const |
Add a fixed plane. More... | |
void | addBall (rw::core::Ptr< rwsim::dynamics::DynamicWorkCell > dwc, double radius, double density, const std::string &name="Ball", const std::string &parent="WORLD") const |
Add a dynamic ball. More... | |
void | addBallFixed (rw::core::Ptr< rwsim::dynamics::DynamicWorkCell > dwc, double radius, const std::string &name="Ball", const std::string &parent="WORLD") const |
Add a fixed ball. More... | |
void | addCylinder (rw::core::Ptr< rwsim::dynamics::DynamicWorkCell > dwc, double radius, double height, double density, const std::string &name="Cylinder", const std::string &parent="WORLD", bool trimesh=false) const |
Add a dynamic cylinder. More... | |
void | addCylinderFixed (rw::core::Ptr< rwsim::dynamics::DynamicWorkCell > dwc, double radius, double height, const std::string &name="Cylinder", const std::string &parent="WORLD", bool trimesh=false) const |
Add a fixed cylinder. More... | |
void | addTube (rw::core::Ptr< rwsim::dynamics::DynamicWorkCell > dwc, double radius, double thickness, double height, double density, const std::string &name="Tube", bool trimesh=false) const |
Add a dynamic tube. More... | |
void | addBox (rw::core::Ptr< rwsim::dynamics::DynamicWorkCell > dwc, double x, double y, double z, double density, const std::string &name="Box", bool trimesh=false) const |
Add a dynamic box. More... | |
void | addBoxKin (rw::core::Ptr< rwsim::dynamics::DynamicWorkCell > dwc, double x, double y, double z, const std::string &name="Box", bool trimesh=false) const |
Add a kinematic box. More... | |
Static Public Member Functions | |
static rwsim::dynamics::BodyInfo | defaultInfo () |
Construct default body info. More... | |
static void | defaultInfo (rwsim::dynamics::BodyInfo &info) |
Insert default info into existing body info. More... | |
static void | ballInfo (rwsim::dynamics::BodyInfo &info, double radius, double density) |
Add mass properties for a ball. More... | |
static void | cylinderInfo (rwsim::dynamics::BodyInfo &info, double radius, double height, double density) |
Add mass properties for a cylinder. More... | |
static void | tubeInfo (rwsim::dynamics::BodyInfo &info, double radius, double thickness, double height, double density) |
Add mass properties for a tube. More... | |
static void | boxInfo (rwsim::dynamics::BodyInfo &info, double x, double y, double z, double density) |
Add mass properties for a box. More... | |
static void | addMaterialData (rw::core::Ptr< rwsim::dynamics::DynamicWorkCell > dwc, double friction=0, double restitution=0) |
Add material data to the dynamic workcell. More... | |
static void | contactsExclude (rw::core::Ptr< rwsim::dynamics::DynamicWorkCell > dwc, const std::string &bodyA, const std::string &bodyB) |
Exclude pairs of bodies from contact detection. More... | |
Helper for building Dynamic Workcells.
DynamicWorkCellBuilder | ( | const ColorScheme & | colors = PaHColors() | ) |
Create new builder with given color scheme.
colors | [in] the colors to use. |
void addBall | ( | rw::core::Ptr< rwsim::dynamics::DynamicWorkCell > | dwc, |
double | radius, | ||
double | density, | ||
const std::string & | name = "Ball" , |
||
const std::string & | parent = "WORLD" |
||
) | const |
Add a dynamic ball.
dwc | [in] the dynamic workcell to add new body to. |
radius | [in] radius of the ball. |
density | [in] the mass density. |
name | [in] (optional) the name of the body - default is Ball. |
parent | [in] (optional) the name of the parent frame - default is WORLD. |
void addBallFixed | ( | rw::core::Ptr< rwsim::dynamics::DynamicWorkCell > | dwc, |
double | radius, | ||
const std::string & | name = "Ball" , |
||
const std::string & | parent = "WORLD" |
||
) | const |
Add a fixed ball.
dwc | [in] the dynamic workcell to add new body to. |
radius | [in] radius of the ball. |
name | [in] (optional) the name of the body - default is Ball. |
parent | [in] (optional) the name of the parent frame - default is WORLD. |
void addBox | ( | rw::core::Ptr< rwsim::dynamics::DynamicWorkCell > | dwc, |
double | x, | ||
double | y, | ||
double | z, | ||
double | density, | ||
const std::string & | name = "Box" , |
||
bool | trimesh = false |
||
) | const |
Add a dynamic box.
dwc | [in] the dynamic workcell to add new body to. |
x | [in] side length. |
y | [in] side length. |
z | [in] side length. |
density | [in] the mass density. |
name | [in] (optional) the name of the body - default is Box. |
trimesh | [in] (optional) use a trimesh to represent the geometry. |
void addBoxKin | ( | rw::core::Ptr< rwsim::dynamics::DynamicWorkCell > | dwc, |
double | x, | ||
double | y, | ||
double | z, | ||
const std::string & | name = "Box" , |
||
bool | trimesh = false |
||
) | const |
Add a kinematic box.
dwc | [in] the dynamic workcell to add new body to. |
x | [in] side length. |
y | [in] side length. |
z | [in] side length. |
name | [in] (optional) the name of the body - default is Box. |
trimesh | [in] (optional) use a trimesh to represent the geometry. |
void addCylinder | ( | rw::core::Ptr< rwsim::dynamics::DynamicWorkCell > | dwc, |
double | radius, | ||
double | height, | ||
double | density, | ||
const std::string & | name = "Cylinder" , |
||
const std::string & | parent = "WORLD" , |
||
bool | trimesh = false |
||
) | const |
Add a dynamic cylinder.
dwc | [in] the dynamic workcell to add new body to. |
radius | [in] radius of the cylinder. |
height | [in] the length of the cylinder. |
density | [in] the mass density. |
name | [in] (optional) the name of the body - default is Cylinder. |
parent | [in] (optional) the name of the parent frame - default is WORLD. |
trimesh | [in] (optional) use a trimesh to represent the geometry. |
void addCylinderFixed | ( | rw::core::Ptr< rwsim::dynamics::DynamicWorkCell > | dwc, |
double | radius, | ||
double | height, | ||
const std::string & | name = "Cylinder" , |
||
const std::string & | parent = "WORLD" , |
||
bool | trimesh = false |
||
) | const |
Add a fixed cylinder.
dwc | [in] the dynamic workcell to add new body to. |
radius | [in] radius of the cylinder. |
height | [in] the length of the cylinder. |
name | [in] (optional) the name of the body - default is Cylinder. |
parent | [in] (optional) the name of the parent frame - default is WORLD. |
trimesh | [in] (optional) use a trimesh to represent the geometry. |
void addFloor | ( | rw::core::Ptr< rwsim::dynamics::DynamicWorkCell > | dwc, |
const std::string & | name = "Floor" , |
||
bool | trimesh = false |
||
) | const |
Add a fixed floor.
dwc | [in] the dynamic workcell to add new body to. |
name | [in] (optional) the name of the body - default is Floor. |
trimesh | [in] (optional) use a trimesh to represent the geometry. |
|
static |
Add material data to the dynamic workcell.
dwc | [in] the dynamic workcell to add data to. |
friction | [in] (optional) the friction coefficient - default is 0. |
restitution | [in] (optional) the restitution coefficient - default is 0. |
void addPlane | ( | rw::core::Ptr< rwsim::dynamics::DynamicWorkCell > | dwc, |
const rw::math::Vector3D<> & | n, | ||
double | d, | ||
const std::string & | name = "Plane" , |
||
bool | trimesh = false |
||
) | const |
Add a fixed plane.
dwc | [in] the dynamic workcell to add new body to. |
n | [in] the normal. |
d | [in] the distance. |
name | [in] (optional) the name of the body - default is Plane. |
trimesh | [in] (optional) use a trimesh to represent the geometry. |
void addTube | ( | rw::core::Ptr< rwsim::dynamics::DynamicWorkCell > | dwc, |
double | radius, | ||
double | thickness, | ||
double | height, | ||
double | density, | ||
const std::string & | name = "Tube" , |
||
bool | trimesh = false |
||
) | const |
Add a dynamic tube.
dwc | [in] the dynamic workcell to add new body to. |
radius | [in] radius of the tube. |
thickness | [in] the thickness of the tube. |
height | [in] the length of the tube. |
density | [in] the mass density. |
name | [in] (optional) the name of the body - default is Tube. |
trimesh | [in] (optional) use a trimesh to represent the geometry. |
|
static |
Add mass properties for a ball.
info | [in/out] the body info to update. |
radius | [in] the radius of the ball. |
density | [in] the mass density. |
|
static |
Add mass properties for a box.
info | [in/out] the body info to update. |
x | [in] side length. |
y | [in] side length. |
z | [in] side length. |
density | [in] the mass density. |
|
static |
Exclude pairs of bodies from contact detection.
dwc | [in] dynamic workcell to add information to. |
bodyA | [in] pattern of the first name. |
bodyB | [in] pattern of the second name. |
|
static |
Add mass properties for a cylinder.
info | [in/out] the body info to update. |
radius | [in] the radius. |
height | [in] the length of the cylinder. |
density | [in] the mass density. |
|
static |
Construct default body info.
|
static |
Insert default info into existing body info.
info | [in/out] the body info to update. |
|
static |
Add mass properties for a tube.
info | [in/out] the body info to update. |
radius | [in] the radius. |
thickness | [in] the thickness of the tube. |
height | [in] the length of the tube. |
density | [in] the mass density. |