1 #ifndef SimTK_SimTKCOMMON_DECORATIVE_GEOMETRY_H_
2 #define SimTK_SimTKCOMMON_DECORATIVE_GEOMETRY_H_
53 class DecorativeGeometryImplementation;
139 int getBodyId()
const;
143 Real getResolution()
const;
153 const Vec3& getScaleFactors()
const;
175 const Vec3& getColor()
const;
177 Real getOpacity()
const;
180 Real getLineThickness()
const;
189 int getFaceCamera()
const;
197 Representation getRepresentation()
const;
203 bool isOwnerHandle()
const;
204 bool isEmptyHandle()
const;
207 const DecorativeGeometryRep&
getRep()
const {assert(rep);
return *rep;}
208 DecorativeGeometryRep&
updRep() {assert(rep);
return *rep;}
210 DecorativeGeometryRep*
rep;
225 const Vec3& getPoint()
const;
241 class DecorativePointRep& updRep();
242 const DecorativePointRep& getRep()
const;
275 const Vec3& getPoint1()
const;
276 const Vec3& getPoint2()
const;
280 class DecorativeLineRep& updRep();
281 const DecorativeLineRep& getRep()
const;
291 Real getRadius()
const;
295 class DecorativeCircleRep& updRep();
296 const DecorativeCircleRep& getRep()
const;
306 Real getRadius()
const;
310 class DecorativeSphereRep& updRep();
311 const DecorativeSphereRep& getRep()
const;
320 Vec3(Real(0.5),Real(1/3.),Real(0.25)));
323 const Vec3& getRadii()
const;
327 class DecorativeEllipsoidRep& updRep();
328 const DecorativeEllipsoidRep& getRep()
const;
339 const Vec3& getHalfLengths()
const;
343 class DecorativeBrickRep& updRep();
344 const DecorativeBrickRep& getRep()
const;
356 Real getRadius()
const;
357 Real getHalfHeight()
const;
361 class DecorativeCylinderRep& updRep();
362 const DecorativeCylinderRep& getRep()
const;
373 Real getAxisLength()
const;
377 class DecorativeFrameRep& updRep();
378 const DecorativeFrameRep& getRep()
const;
388 const std::string& getText()
const;
393 bool getIsScreenText()
const;
397 class DecorativeTextRep& updRep();
398 const DecorativeTextRep& getRep()
const;
410 class DecorativeMeshRep& updRep();
411 const DecorativeMeshRep& getRep()
const;
434 int getNumDecorations()
const;
454 class DecorationsRep& updRep();
455 const DecorationsRep& getRep()
const;
477 #endif // SimTK_SimTKCOMMON_DECORATIVE_GEOMETRY_H_
const Vec3 Orange
RGB=( 1,.5, 0)
const Vec3 Yellow
RGB=( 1, 1, 0)
#define SimTK_SimTKCOMMON_EXPORT
Definition: SimTKcommon/include/SimTKcommon/internal/common.h:202
DecorativePoint & setTransform(const Transform &X_BD)
Definition: DecorativeGeometry.h:230
This defines a rectangular solid centered at the origin and aligned with the local frame axes...
Definition: DecorativeGeometry.h:334
DecorativeLine & setScaleFactors(const Vec3 &s)
Definition: DecorativeGeometry.h:262
const DecorativeGeometryRep & getRep() const
Definition: DecorativeGeometry.h:207
DecorativeGeometry & setResolution(Real)
Each concrete DecorativeGeometry object is expected to have a default resolution that gets the point ...
This defines a text label with its base at the origin.
Definition: DecorativeGeometry.h:383
This defines geometry to represent a coordinate frame.
Definition: DecorativeGeometry.h:368
const Vec3 Gray
RGB=(.5,.5,.5)
Decorations & setTransform(const Transform &X_BD)
Definition: DecorativeGeometry.h:442
Decorations & setScaleFactors(const Vec3 &s)
Definition: DecorativeGeometry.h:444
Decorations & setBodyId(int b)
Definition: DecorativeGeometry.h:441
This defines an ellipsoidal solid centered at the origin and aligned with the local frame axes...
Definition: DecorativeGeometry.h:317
DecorativeGeometryRep & updRep()
Definition: DecorativeGeometry.h:208
const Vec3 Red
RGB=( 1, 0, 0)
Representation
Definition: DecorativeGeometry.h:94
DecorativeGeometry & setColor(const Vec3 &rgb)
Request a specific color for this DecorativeGeometry object.
DecorativePoint & setLineThickness(Real t)
Definition: DecorativeGeometry.h:235
Decorations & setOpacity(Real o)
Definition: DecorativeGeometry.h:446
DecorativeGeometry & setScale(Real scale)
Convenience method to set all three scale factors to the same value.
Definition: DecorativeGeometry.h:135
Decorations & setResolution(Real r)
Definition: DecorativeGeometry.h:443
const Vec3 Cyan
RGB=( 0, 1, 1)
DecorativeGeometryRep * rep
Definition: DecorativeGeometry.h:210
Decorations & setLineThickness(Real t)
Definition: DecorativeGeometry.h:447
DecorativeGeometry & setRepresentation(const Representation &)
Request a particular rendering representation of this DecorativeGeometry object.
DecorativePoint & setRepresentation(const Representation &r)
Definition: DecorativeGeometry.h:236
Decorations & setRepresentation(const Representation &r)
Definition: DecorativeGeometry.h:448
DecorativeLine & setBodyId(int b)
Definition: DecorativeGeometry.h:259
DecorativeGeometry & setScaleFactors(const Vec3 &scale)
Each concrete DecorativeGeometry object is expected to have a default size around "1"...
This defines a circle in the x-y plane, centered at the origin.
Definition: DecorativeGeometry.h:286
DecorativeGeometry & setLineThickness(Real)
Request an adjustment to the default rendering of lines and curves.
DecorativeGeometry & setOpacity(Real)
Request a level of transparency for this DecorativeGeometry.
const Vec3 Blue
RGB=( 0, 0, 1)
DecorativeGeometry()
Definition: DecorativeGeometry.h:88
DecorativePoint & setBodyId(int b)
Definition: DecorativeGeometry.h:229
DecorativeLine & setRepresentation(const Representation &r)
Definition: DecorativeGeometry.h:266
This class provides a description of a mesh made of polygonal faces (not limited to triangles)...
Definition: PolygonalMesh.h:71
const Vec3 Magenta
RGB=( 1, 0, 1)
This is the client-side interface to an implementation-independent representation of "Decorations" su...
Definition: DecorativeGeometry.h:86
This defines a sphere centered at the origin.
Definition: DecorativeGeometry.h:301
A point of interest.
Definition: DecorativeGeometry.h:218
DecorativeLine & setResolution(Real r)
Definition: DecorativeGeometry.h:261
DecorativeGeometry(class DecorativeGeometryRep *r)
Definition: DecorativeGeometry.h:205
DecorativeLine & setLineThickness(Real t)
Definition: DecorativeGeometry.h:265
virtual ~DecorativeGeometryImplementation()
Definition: DecorativeGeometry.h:462
DecorativeLine & setTransform(const Transform &X_BD)
Definition: DecorativeGeometry.h:260
bool hasRep() const
Definition: DecorativeGeometry.h:206
DecorativeGeometry & setTransform(const Transform &X_BG)
This transform shifts the generated polygons with respect to this object's local frame.
const Vec3 White
RGB=( 1, 1, 1)
DecorativePoint & setResolution(Real r)
Definition: DecorativeGeometry.h:231
Vec< 3 > Vec3
Definition: SmallMatrix.h:104
DecorativeLine & setOpacity(Real o)
Definition: DecorativeGeometry.h:264
const Vec3 Purple
RGB=(.5, 0,.5)
DecorativePoint & setColor(const Vec3 &rgb)
Definition: DecorativeGeometry.h:233
This defines a single DecorativeGeometry object that is composed of a collection of other DecorativeG...
Definition: DecorativeGeometry.h:419
const Vec3 Green
RGB=( 0, 1, 0)
DecorativeGeometry & setBodyId(int)
By default the geometry will be placed on ground.
A line between two points.
Definition: DecorativeGeometry.h:254
This is the header which should be included in user programs that would like to make use of all the S...
Use this abstract class to connect your implementation of decorative geometry to the implementation-i...
Definition: DecorativeGeometry.h:460
DecorativePoint & setScaleFactors(const Vec3 &s)
Definition: DecorativeGeometry.h:232
Decorations & setColor(const Vec3 &rgb)
Definition: DecorativeGeometry.h:445
DecorativePoint & setOpacity(Real o)
Definition: DecorativeGeometry.h:234
This defines a cylinder centered on the origin and aligned in the y direction.
Definition: DecorativeGeometry.h:350
This defines a displayable mesh by referencing an already-existing PolygonalMesh object.
Definition: DecorativeGeometry.h:403
DecorativeLine & setColor(const Vec3 &rgb)
Definition: DecorativeGeometry.h:263
const Vec3 Black
RGB=( 0, 0, 0)