Simbody  3.7
SimTK::Decorations Class Reference

This defines a single DecorativeGeometry object that is composed of a collection of other DecorativeGeometry objects. More...

+ Inheritance diagram for SimTK::Decorations:

Public Member Functions

 Decorations ()
 Construct an empty container for DecorativeGeometry objects. More...
 
 Decorations (const DecorativeGeometry &decoration)
 Construct a Decorations container initially consting of just a single DecorativeGeometry object. More...
 
DecorationsaddDecoration (const DecorativeGeometry &decoration)
 Add a DecorativeGeometry object to this collection. More...
 
DecorationsaddDecoration (const Transform &placement, const DecorativeGeometry &decoration)
 Add a DecorativeGeometry object to this collection and place it relative to the Decorations frame. More...
 
int getNumDecorations () const
 Determine how many DecorativeGeometry objects are in this collection. More...
 
const DecorativeGeometrygetDecoration (int i) const
 Get access to one of the DecorativeGeometry objects in this collection. More...
 
DecorationssetBodyId (int b)
 
DecorationssetIndexOnBody (int x)
 
DecorationssetUserRef (void *p)
 
DecorationssetTransform (const Transform &X_BD)
 
DecorationssetResolution (Real r)
 
DecorationssetScaleFactors (const Vec3 &s)
 
DecorationssetColor (const Vec3 &rgb)
 
DecorationssetOpacity (Real o)
 
DecorationssetLineThickness (Real t)
 
DecorationssetRepresentation (const Representation &r)
 
 SimTK_PIMPL_DOWNCAST (Decorations, DecorativeGeometry)
 
- Public Member Functions inherited from SimTK::DecorativeGeometry
 DecorativeGeometry ()
 Default constructor creates an empty handle. More...
 
 ~DecorativeGeometry ()
 
 DecorativeGeometry (const DecorativeGeometry &source)
 Copy construction is deep; the source object will be cloned to create an independent copy. More...
 
DecorativeGeometryoperator= (const DecorativeGeometry &source)
 Copy assignment is deep; the handle will be cleared if necessary and then the source object will be cloned to create an independent copy. More...
 
DecorativeGeometrysetBodyId (int bodyId)
 By default the geometry should be placed relative to the Ground frame. More...
 
DecorativeGeometrysetIndexOnBody (int index)
 For selection or other purposes, you may want to use this method to store an index that can identify this particular piece of geometry. More...
 
DecorativeGeometrysetUserRef (void *userRef)
 Use this method to store an arbitrary reference pointer with this DecorativeGeometry object. More...
 
DecorativeGeometrysetTransform (const Transform &X_BG)
 This transform shifts the generated polygons with respect to this object's local frame. More...
 
DecorativeGeometrysetResolution (Real)
 Each concrete DecorativeGeometry object is expected to have a default resolution that gets the point across but is cheap to draw and hence probably somewhat "chunky". More...
 
DecorativeGeometrysetScaleFactors (const Vec3 &scale)
 Each concrete DecorativeGeometry object is expected to have a default size around "1", whatever that means for a particular object, and most objects also allow a user-specified size on construction. More...
 
DecorativeGeometrysetScale (Real scale)
 Convenience method to set all three scale factors to the same value. More...
 
int getBodyId () const
 Return the bodyId that was supplied to the most recent setBodyId() call for this DecorativeGeometry object, or zero if that method has not been called. More...
 
int getIndexOnBody () const
 Return the index that was supplied to the most recent setIndexOnBody() call for this DecorativeGeometry object, or -1 if that method has not been called. More...
 
void * getUserRef () const
 Return the pointer value that was supplied to the most recent setUserRef() call for this DecorativeGeometry object, or zero (nullptr) if that method has not been called. More...
 
Real getResolution () const
 Return the current setting of the "resolution" factor. More...
 
const TransformgetTransform () const
 Return the current value of the object's transform. More...
 
const Vec3getScaleFactors () const
 Return the current setting of the "scale" factors. More...
 
DecorativeGeometrysetColor (const Vec3 &rgb)
 Request a specific color for this DecorativeGeometry object. More...
 
DecorativeGeometrysetOpacity (Real)
 Request a level of transparency for this DecorativeGeometry. More...
 
DecorativeGeometrysetLineThickness (Real)
 Request an adjustment to the default rendering of lines and curves. More...
 
const Vec3getColor () const
 Return the color specified for this object, if any, otherwise Vec3(-1) indicating that the default color will be used. More...
 
Real getOpacity () const
 Return the opacity specified for this object. More...
 
Real getLineThickness () const
 Return the line thickness specified for this object, if any, otherwise return -1 to indicate that the default line thickness should be used. More...
 
DecorativeGeometrysetFaceCamera (int shouldFace)
 Set whether the geometry acts as a billboard, always rotating to face the camera. More...
 
int getFaceCamera () const
 Get whether the geometry acts as a billboard, always rotating to face the camera. More...
 
DecorativeGeometrysetRepresentation (const Representation &)
 Request a particular rendering representation of this DecorativeGeometry object. More...
 
Representation getRepresentation () const
 Returns drawing mode: -1 means "use default"; see above for others. More...
 
void implementGeometry (DecorativeGeometryImplementation &) const
 
bool isOwnerHandle () const
 
bool isEmptyHandle () const
 
 DecorativeGeometry (class DecorativeGeometryRep *r)
 
bool hasRep () const
 
const DecorativeGeometryRep & getRep () const
 
DecorativeGeometryRep & updRep ()
 

Additional Inherited Members

- Public Types inherited from SimTK::DecorativeGeometry
enum  Representation {
  Hide = 0,
  DrawPoints = 1,
  DrawWireframe = 2,
  DrawSurface = 3,
  DrawDefault = -1
}
 Drawing modes. More...
 
- Protected Attributes inherited from SimTK::DecorativeGeometry
DecorativeGeometryRep * rep
 

Detailed Description

This defines a single DecorativeGeometry object that is composed of a collection of other DecorativeGeometry objects.

Parameters set for the parent object serve as defaults for the contained objects, but those objects can override or be composed with the default values. Body id, index, and userRef pointer (if any) for the contained objects are overridden unconditionally from the Decorations object so that implementations will see these as identical for each piece of the composite object. Reference frames are composed; scale factors, resolution, opacity, and line thickness are composed, with unspecified values (-1) being treated as 1.

Constructor & Destructor Documentation

◆ Decorations() [1/2]

SimTK::Decorations::Decorations ( )

Construct an empty container for DecorativeGeometry objects.

◆ Decorations() [2/2]

SimTK::Decorations::Decorations ( const DecorativeGeometry decoration)
explicit

Construct a Decorations container initially consting of just a single DecorativeGeometry object.

Member Function Documentation

◆ addDecoration() [1/2]

Decorations& SimTK::Decorations::addDecoration ( const DecorativeGeometry decoration)

Add a DecorativeGeometry object to this collection.

◆ addDecoration() [2/2]

Decorations& SimTK::Decorations::addDecoration ( const Transform placement,
const DecorativeGeometry decoration 
)

Add a DecorativeGeometry object to this collection and place it relative to the Decorations frame.

◆ getNumDecorations()

int SimTK::Decorations::getNumDecorations ( ) const

Determine how many DecorativeGeometry objects are in this collection.

◆ getDecoration()

const DecorativeGeometry& SimTK::Decorations::getDecoration ( int  i) const

Get access to one of the DecorativeGeometry objects in this collection.

◆ setBodyId()

Decorations& SimTK::Decorations::setBodyId ( int  b)
inline

◆ setIndexOnBody()

Decorations& SimTK::Decorations::setIndexOnBody ( int  x)
inline

◆ setUserRef()

Decorations& SimTK::Decorations::setUserRef ( void *  p)
inline

◆ setTransform()

Decorations& SimTK::Decorations::setTransform ( const Transform X_BD)
inline

◆ setResolution()

Decorations& SimTK::Decorations::setResolution ( Real  r)
inline

◆ setScaleFactors()

Decorations& SimTK::Decorations::setScaleFactors ( const Vec3 s)
inline

◆ setColor()

Decorations& SimTK::Decorations::setColor ( const Vec3 rgb)
inline

◆ setOpacity()

Decorations& SimTK::Decorations::setOpacity ( Real  o)
inline

◆ setLineThickness()

Decorations& SimTK::Decorations::setLineThickness ( Real  t)
inline

◆ setRepresentation()

Decorations& SimTK::Decorations::setRepresentation ( const Representation r)
inline

◆ SimTK_PIMPL_DOWNCAST()

SimTK::Decorations::SimTK_PIMPL_DOWNCAST ( Decorations  ,
DecorativeGeometry   
)

The documentation for this class was generated from the following file: