DebugDrawerTopic Class Reference

The DebugDrawerTopic wraps a DebugDrawerInterfacePrx and provides a more useful interface than the Ice interface. More...

#include <RobotAPI/libraries/core/visualization/DebugDrawerTopic.h>

Classes

struct  Defaults
 Default values for drawing functions. More...
 
struct  VisuID
 A visualisation ID. More...
 

Public Member Functions

void clearAll (bool sleep=false)
 Clear all layers. More...
 
void clearColoredPointCloud (const VisuID &id)
 Forces the "deletion" of a point cloud by drawing an empty one. More...
 
void clearLayer (bool sleep=false)
 Clear the (set default) layer. More...
 
void clearLayer (const std::string &layer, bool sleep=false)
 Clear the given layer. More...
 
 DebugDrawerTopic (const DebugDrawerInterfacePrx &topic, const std::string &layer=DEFAULT_LAYER)
 Construct with given topic and optional layer. More...
 
 DebugDrawerTopic (const std::string &layer=DEFAULT_LAYER)
 Construct without topic, and optional layer. More...
 
void drawArrow (const VisuID &id, const Eigen::Vector3f &position, const Eigen::Vector3f &direction, float length, float width, const DrawColor &color=DEFAULTS.colorArrow, bool ignoreLengthScale=false)
 Draw an arrow with position (start) and direction. More...
 
void drawArrowFromTo (const VisuID &id, const Eigen::Vector3f &from, const Eigen::Vector3f &to, float width, const DrawColor &color=DEFAULTS.colorArrow, bool ignoreLengthScale=false)
 Draw an arrow with start and end. More...
 
void drawBox (const VisuID &id, const Eigen::Matrix4f &pose, const Eigen::Vector3f &extents, const DrawColor &color=DEFAULTS.colorBox, bool ignoreLengthScale=false)
 Draw a box. More...
 
void drawBox (const VisuID &id, const Eigen::Vector3f &position, const Eigen::Quaternionf &orientation, const Eigen::Vector3f &extents, const DrawColor &color=DEFAULTS.colorBox, bool ignoreLengthScale=false)
 Draw a box. More...
 
void drawBox (const VisuID &id, const VirtualRobot::BoundingBox &boundingBox, const DrawColor &color=DEFAULTS.colorBox, bool ignoreLengthScale=false)
 Draw an axis aligned bounding box. More...
 
void drawBox (const VisuID &id, const VirtualRobot::BoundingBox &boundingBox, const Eigen::Matrix4f &pose, const DrawColor &color=DEFAULTS.colorBox, bool ignoreLengthScale=false)
 Draw a locally axis aligned bounding box, transformed by the given pose. More...
 
void drawBoxEdges (const VisuID &id, const Eigen::Matrix32f &aabb, const Eigen::Matrix4f &pose, float width=DEFAULTS.boxEdgesWidth, const DrawColor &color=DEFAULTS.boxEdgesColor, bool ignoreLengthScale=false)
 Draw edges of a locally axis-aligned bounding box, transformed by the given pose (as a line set). More...
 
void drawBoxEdges (const VisuID &id, const Eigen::Matrix32f &aabb, float width=DEFAULTS.boxEdgesWidth, const DrawColor &color=DEFAULTS.boxEdgesColor, bool ignoreLengthScale=false)
 Draw edges of an axis aligned bounding box (as a line set). More...
 
void drawBoxEdges (const VisuID &id, const Eigen::Matrix4f &pose, const Eigen::Vector3f &extents, float width=DEFAULTS.boxEdgesWidth, const DrawColor &color=DEFAULTS.boxEdgesColor, bool ignoreLengthScale=false)
 Draw box edges (as a line set). More...
 
void drawBoxEdges (const VisuID &id, const Eigen::Vector3f &position, const Eigen::Quaternionf &orientation, const Eigen::Vector3f &extents, float width=DEFAULTS.boxEdgesWidth, const DrawColor &color=DEFAULTS.boxEdgesColor, bool ignoreLengthScale=false)
 Draw box edges (as a line set). More...
 
void drawBoxEdges (const VisuID &id, const VirtualRobot::BoundingBox &boundingBox, const Eigen::Matrix4f &pose, float width=DEFAULTS.boxEdgesWidth, const DrawColor &color=DEFAULTS.boxEdgesColor, bool ignoreLengthScale=false)
 Draw edges of a locally axis-aligned bounding box, transformed by the given pose (as a line set). More...
 
void drawBoxEdges (const VisuID &id, const VirtualRobot::BoundingBox &boundingBox, float width=DEFAULTS.boxEdgesWidth, const DrawColor &color=DEFAULTS.boxEdgesColor, bool ignoreLengthScale=false)
 Draw edges of an axis aligned bounding box (as a line set). More...
 
void drawCylinder (const VisuID &id, const Eigen::Vector3f &center, const Eigen::Quaternionf &orientation, float length, float radius, const DrawColor &color=DEFAULTS.colorCylinder, bool ignoreLengthScale=false)
 Draw a cylinder with center and orientation. More...
 
void drawCylinder (const VisuID &id, const Eigen::Vector3f &center, const Eigen::Vector3f &direction, float length, float radius, const DrawColor &color=DEFAULTS.colorCylinder, bool ignoreLengthScale=false)
 Draw a cylinder with center and direction. More...
 
void drawCylinderFromTo (const VisuID &id, const Eigen::Vector3f &from, const Eigen::Vector3f &to, float radius, const DrawColor &color=DEFAULTS.colorCylinder, bool ignoreLengthScale=false)
 Draw a cylinder from start to end. More...
 
void drawFloor (const VisuID &id={ "floor" }, const Eigen::Vector3f &at=Eigen::Vector3f::Zero(), const Eigen::Vector3f &up=Eigen::Vector3f::UnitZ(), float size=5, const DrawColor &color=DEFAULTS.colorFloor, bool ignoreLengthScale=false)
 Draw a quad representing the floor. More...
 
void drawLine (const VisuID &id, const Eigen::Vector3f &from, const Eigen::Vector3f &to, float width, const DrawColor &color=DEFAULTS.colorLine, bool ignoreLengthScale=false)
 Draw a line from start to end. More...
 
void drawLineSet (const VisuID &id, const DebugDrawerLineSet &lineSet, bool ignoreLengthScale=false)
 Draw a line set. More...
 
void drawLineSet (const VisuID &id, const std::vector< Eigen::Vector3f > &points, float width, const DrawColor &color=DEFAULTS.colorLine, bool ignoreLengthScale=false)
 Draw a set of lines with constant color. More...
 
void drawLineSet (const VisuID &id, const std::vector< Eigen::Vector3f > &points, float width, const DrawColor &colorA, const DrawColor &colorB, const std::vector< float > &intensitiesB, bool ignoreLengthScale=false)
 Draw a set of lines with constant color. More...
 
void drawPointCloud (const VisuID &id, const DebugDrawer24BitColoredPointCloud &pointCloud)
 Draw a 24 bit colored point cloud. More...
 
void drawPointCloud (const VisuID &id, const DebugDrawerColoredPointCloud &pointCloud)
 Draw a colored point cloud. More...
 
void drawPointCloud (const VisuID &id, const DebugDrawerPointCloud &pointCloud)
 Draw a non-colored point cloud. More...
 
template<class PointCloudT , class ColorFuncT >
void drawPointCloud (const VisuID &id, const PointCloudT &pointCloud, const ColorFuncT &colorFunc, float pointSize=DEFAULTS.pointCloudPointSize, bool ignoreLengthScale=false)
 Draw a colored point cloud with custom colors. More...
 
template<class PointCloudT >
void drawPointCloud (const VisuID &id, const PointCloudT &pointCloud, const DrawColor &color=DEFAULTS.colorPointCloud, float pointSize=DEFAULTS.pointCloudPointSize, bool ignoreLengthScale=false)
 Draw a unicolored point cloud. More...
 
template<class PointCloudT >
void drawPointCloudLabeled (const VisuID &id, const PointCloudT &pointCloud, float pointSize=DEFAULTS.pointCloudPointSize, bool ignoreLengthScale=false)
 Draw a colored point cloud with colors according to labels. More...
 
template<class PointCloudT >
void drawPointCloudRGBA (const VisuID &id, const PointCloudT &pointCloud, float pointSize=DEFAULTS.pointCloudPointSize, bool ignoreLengthScale=false)
 Draw a colored point cloud with RGBA information. More...
 
void drawPolygon (const VisuID &id, const std::vector< Eigen::Vector3f > &points, const DrawColor &colorFace, float lineWidth=0, const DrawColor &colorEdge=DEFAULTS.colorPolygonEdge, bool ignoreLengthScale=false)
 Draw a polygon. More...
 
void drawPose (const VisuID &id, const Eigen::Matrix4f &pose, bool ignoreLengthScale=false)
 Draw a pose (with the preset scale). More...
 
void drawPose (const VisuID &id, const Eigen::Matrix4f &pose, float scale, bool ignoreLengthScale=false)
 Draw a pose with the given scale. More...
 
void drawPose (const VisuID &id, const Eigen::Vector3f &pos, const Eigen::Quaternionf &ori, bool ignoreLengthScale=false)
 Draw a pose (with the preset scale). More...
 
void drawPose (const VisuID &id, const Eigen::Vector3f &pos, const Eigen::Quaternionf &ori, float scale, bool ignoreLengthScale=false)
 Draw a pose with the given scale. More...
 
void drawRobot (const VisuID &id, const std::string &robotFile, const std::string &armarxProject, armarx::DrawStyle drawStyle=armarx::DrawStyle::FullModel)
 Draw a robot. More...
 
void drawSphere (const VisuID &id, const Eigen::Vector3f &center, float radius, const DrawColor &color=DEFAULTS.colorSphere, bool ignoreLengthScale=false)
 Draw a sphere. More...
 
void drawText (const VisuID &id, const Eigen::Vector3f &position, const std::string &text, int size=10, const DrawColor color=DEFAULTS.colorText, bool ignoreLengthScale=false)
 Draw text at the specified position. More...
 
void drawTriMesh (const VisuID &id, const VirtualRobot::TriMeshModel &triMesh, const DrawColor &color={.5,.5,.5, 1}, bool ignoreLengthScale=false)
 Draw a TriMeshModel as DebugDrawerTriMesh. More...
 
void drawTriMeshAsPolygons (const VisuID &id, const VirtualRobot::TriMeshModel &trimesh, const DrawColor &colorFace=DEFAULTS.colorPolygonFace, float lineWidth=0, const DrawColor &colorEdge=DEFAULTS.colorPolygonEdge, bool ignoreLengthScale=false)
 Draw a TriMeshModel as individual polygons. More...
 
void drawTriMeshAsPolygons (const VisuID &id, const VirtualRobot::TriMeshModel &trimesh, const Eigen::Matrix4f &pose, const DrawColor &colorFace=DEFAULTS.colorPolygonFace, float lineWidth=0, const DrawColor &colorEdge=DEFAULTS.colorPolygonEdge, bool ignoreLengthScale=false)
 Draw a TriMeshModel as individual polygons, transformed by the given pose. More...
 
void drawTriMeshAsPolygons (const VisuID &id, const VirtualRobot::TriMeshModel &trimesh, const std::vector< DrawColor > &faceColorsInner, float lineWidth=0, const DrawColor &colorEdge=DEFAULTS.colorPolygonEdge, bool ignoreLengthScale=false)
 Draw a TriMeshModel as individual polygons with individual face colors. More...
 
bool enabled () const
 Indicate whether visualization is enabled, i.e. a topic is set and enabled flag is set. More...
 
const std::string & getLayer () const
 Get the default layer (used if no layer is passed to a method). More...
 
float getLengthScale () const
 Get the scaling for positions, lengths and distances. More...
 
float getPoseScale () const
 Get the scale for pose visualization. More...
 
DebugDrawerInterfacePrx getTopic () const
 Get the topic. More...
 
void getTopic (ManagedIceObject &component, const std::string &topicNameOverride="")
 Get the topic by calling getTopic([topicName]) on the given component. More...
 
void offeringTopic (ManagedIceObject &component, const std::string &topicNameOverride="") const
 Call offeringTopic([topicName]) on the given component. More...
 
 operator bool () const
 Indicate whether visualization is enabled. More...
 
 operator const DebugDrawerInterfacePrx & () const
 
 operator DebugDrawerInterfacePrx & ()
 Conversion operator to DebugDrawerInterfacePrx. More...
 
DebugDrawerInterfacePrxoperator-> ()
 Pointer member access operator to access the raw debug drawer proxy. More...
 
const DebugDrawerInterfacePrxoperator-> () const
 
void removeArrow (const VisuID &id)
 Remove an arrow. More...
 
void removeBox (const VisuID &id)
 Remove a box. More...
 
void removeboxEdges (const VisuID &id)
 Remove box edges (as a line set). More...
 
void removeCylinder (const VisuID &id)
 Remove a cylinder. More...
 
void removeLine (const VisuID &id)
 Remove a line. More...
 
void removeLineSet (const VisuID &id)
 Remove a line set. More...
 
void removePolygon (const VisuID &id)
 Remove a polygon. More...
 
void removePose (const VisuID &id)
 Remove a pose. More...
 
void removeRobot (const VisuID &id)
 Remove a robot visualization. More...
 
void removeSphere (const VisuID &id)
 Remove a sphere. More...
 
void setEnabled (bool enabled)
 Set whether drawing is enabled. More...
 
void setLayer (const std::string &layer)
 Set the default layer (used if no layer is passed to a method). More...
 
void setLengthScale (float scale)
 Set the scale for positions, lengths and distances. More...
 
void setLengthScaleMetersToMillimeters ()
 Set the scale for positions, lengths and distances to 1000. More...
 
void setLengthScaleMillimetersToMeters ()
 Set the scale for positions, lengths and distances to 0.001. More...
 
void setPoseScale (float scale)
 Set the scale for pose visualization. More...
 
void setPoseScaleMeters ()
 Set the pose scale to 0.001 (good when drawing in meters). More...
 
void setPoseScaleMillimeters ()
 Set the pose scale to 1 (good when drawing in millimeters). More...
 
template<typename DurationT >
void setShortSleepDuration (const DurationT &duration)
 Set the duration for "short sleeps". More...
 
void setTopic (const DebugDrawerInterfacePrx &topic)
 Set the topic. More...
 
void shortSleep ()
 Sleep for the shortSleepDuration. Useful after clearing. More...
 
template<typename DurationT >
void sleepFor (const DurationT &duration)
 If enabled, sleep for the given duration (e.g. a chrono duration). More...
 
void updateRobotColor (const VisuID &id, const DrawColor &color)
 Update / set the robot color. More...
 
void updateRobotConfig (const VisuID &id, const std::map< std::string, float > &config)
 Update / set the robot configuration (joint angles). More...
 
void updateRobotNodeColor (const VisuID &id, const std::string &nodeName, const DrawColor &color)
 Update / set the color of a robot node. More...
 
void updateRobotPose (const VisuID &id, const Eigen::Matrix4f &pose, bool ignoreScale=false)
 Update / set the robot pose. More...
 
void updateRobotPose (const VisuID &id, const Eigen::Vector3f &pos, const Eigen::Quaternionf &ori, bool ignoreScale=false)
 Update / set the robot pose. More...
 

Static Public Member Functions

static DrawColor getGlasbeyLUTColor (int id, float alpha=1.f)
 Get a color from the Glasbey look-up-table. More...
 
static DrawColor getGlasbeyLUTColor (std::size_t id, float alpha=1.f)
 
static DrawColor getGlasbeyLUTColor (uint32_t id, float alpha=1.f)
 
static Eigen::Vector3f hsv2rgb (const Eigen::Vector3f &hsv)
 Convert a HSV color RGB. More...
 
static Eigen::Vector3f rgb2hsv (const Eigen::Vector3f &rgb)
 Convert a RGB color to HSV. More...
 
template<class ColorT >
static DrawColor toDrawColor (const ColorT &color, float alpha=1, bool byteToFloat=false)
 Construct a DrawColor from the given color type. More...
 

Static Public Attributes

static const Defaults DEFAULTS = {}
 

Detailed Description

The DebugDrawerTopic wraps a DebugDrawerInterfacePrx and provides a more useful interface than the Ice interface.

The methods by DebugDrawerTopic take "raw" types, such as Eigen or PCL types, and take care of conversion to Ice variants or data structures. In addition, this class provides useful overloads for different use cases.

Drawing is enabled if the internal topic proxy is set and an optional enabled flag is set (true by default). All methods check whether drawing is enabled and do nothing if drawing is disabled. To disable visualization by this class completely, use setEnabled(true/false) or just do not set the topic. To check whether visualization is enabled, use enabled() or just convert *this to bool:

DebugDrawerTopic debugDrawer;
if (debugDrawer) // Equivalent: if (debugDrawer.enabled())
{
// Do stuff if visualization is enabled.
}

The DebugDrawerTopic allows to set a layer on constructor or via setLayer(). This layer will be used if none is passed to a drawing method. If no layer is passed or set, DebugDrawerTopic::DEFAULT_LAYER is used.

Initialisation by Offering and Getting Topic

A DebugDrawerTopic needs an underlying DebugDrawerInterfacePrx topic proxy. This proxy can be passed on construction or set via setTopic(). In a component (or any other ManagedIceObject), DebugDrawerTopic provides convenience functions to register and fetch the topics.

In onInitComponent() (or equivalent method), call:

debugDrawer.offeringTopic(*this);

In onConnectComponent() (or equivalent), call:

debugDrawer.getTopic(*this);

where *this is a ManagedIceObject.

This will call this->offeringTopic("...") and this->getTopic("...") with the correct topic name (DebugDrawerTopic::TOPIC_NAME) and enable the DebugDrawerTopic.

Scaling

DebugDrawerTopic supports length scaling and pose scaling.

If a length scale is set, all visualizations will be scaled up or down by this value. This scaling affects positions, sizes / extents, and distances / lengths. This is useful when drawing quantities of different sources using different scalings (such as meters vs millimeters). Length scale can be set via setPoseScale() or the short hands setPoseScaleMetersToMillimeters() and setPoseScaleMillimetersToMeters().

All applicable methods offer a final argument called ignoreLengthScaling (false by default, expect for robots, see below), which can be set to true to ignore the set length scale for this method call.

Note
Robots are always drawn in their native size (the DebugDrawerInterface offers no size scaling for robots). (That is, robots are drawn in millimeters most of the time.)

In addition, this class allows to set a pose scale, which will be used for all drawn poses (if no other value is passed to drawPose()). This is useful when working with geometries scaled in meters, in which case a pose scale of 0.001 can be used.

Argument Pattern

All drawing methods take a VisuID as first argument, which specifies the name of the visualization and the layer to draw on. There are different ways to specify the first argument. For example, to specify a only the name for a pose, pass just the name:

std::string name = "pose";
debugDrawer.drawPose(name, pose);
debugDrawer.drawPose({name}, pose); // equivalent to the line above

This will draw a pose on the preset layer (i.e. the layer passed to the constructor or set via setLayer(), or "debug" by default). To specify both name and layer of a single visualization, pass both in an initializer list:

std::string layer = "layer";
std::string name = "pose";
debugDrawer.drawPose({layer, name}, pose);

After the VisuID, usually the essential geometric parameters follow, (e.g. position, size, length, point list, ...), depending on the type of visualization. Finally, decorative parameters like colors and width can be passed. Most of the time, they have sensible default values and can be omitted for quick-and-dirty drawing.

(Added methods should adhere to this pattern.)

See also
DebugDrawerTopic::VisuID

Definition at line 152 of file DebugDrawerTopic.h.

Constructor & Destructor Documentation

◆ DebugDrawerTopic() [1/2]

DebugDrawerTopic ( const std::string &  layer = DEFAULT_LAYER)

Construct without topic, and optional layer.

Definition at line 44 of file DebugDrawerTopic.cpp.

◆ DebugDrawerTopic() [2/2]

DebugDrawerTopic ( const DebugDrawerInterfacePrx topic,
const std::string &  layer = DEFAULT_LAYER 
)

Construct with given topic and optional layer.

Definition at line 48 of file DebugDrawerTopic.cpp.

Member Function Documentation

◆ clearAll()

void clearAll ( bool  sleep = false)

Clear all layers.

Parameters
sleepIf true, do a short sleep clearing.

Definition at line 138 of file DebugDrawerTopic.cpp.

+ Here is the call graph for this function:

◆ clearColoredPointCloud()

void clearColoredPointCloud ( const VisuID id)

Forces the "deletion" of a point cloud by drawing an empty one.

Definition at line 881 of file DebugDrawerTopic.cpp.

+ Here is the call graph for this function:

◆ clearLayer() [1/2]

void clearLayer ( bool  sleep = false)

Clear the (set default) layer.

Parameters
sleepIf true, do a short sleep clearing.

Definition at line 150 of file DebugDrawerTopic.cpp.

◆ clearLayer() [2/2]

void clearLayer ( const std::string &  layer,
bool  sleep = false 
)

Clear the given layer.

Parameters
sleepIf true, do a short sleep clearing.

Definition at line 155 of file DebugDrawerTopic.cpp.

+ Here is the call graph for this function:

◆ drawArrow()

void drawArrow ( const VisuID id,
const Eigen::Vector3f &  position,
const Eigen::Vector3f &  direction,
float  length,
float  width,
const DrawColor &  color = DEFAULTS.colorArrow,
bool  ignoreLengthScale = false 
)

Draw an arrow with position (start) and direction.

Definition at line 411 of file DebugDrawerTopic.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ drawArrowFromTo()

void drawArrowFromTo ( const VisuID id,
const Eigen::Vector3f &  from,
const Eigen::Vector3f &  to,
float  width,
const DrawColor &  color = DEFAULTS.colorArrow,
bool  ignoreLengthScale = false 
)

Draw an arrow with start and end.

Definition at line 425 of file DebugDrawerTopic.cpp.

+ Here is the call graph for this function:

◆ drawBox() [1/4]

void drawBox ( const VisuID id,
const Eigen::Matrix4f &  pose,
const Eigen::Vector3f &  extents,
const DrawColor &  color = DEFAULTS.colorBox,
bool  ignoreLengthScale = false 
)

Draw a box.

Definition at line 193 of file DebugDrawerTopic.cpp.

+ Here is the call graph for this function:

◆ drawBox() [2/4]

void drawBox ( const VisuID id,
const Eigen::Vector3f &  position,
const Eigen::Quaternionf orientation,
const Eigen::Vector3f &  extents,
const DrawColor &  color = DEFAULTS.colorBox,
bool  ignoreLengthScale = false 
)

Draw a box.

Definition at line 179 of file DebugDrawerTopic.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ drawBox() [3/4]

void drawBox ( const VisuID id,
const VirtualRobot::BoundingBox &  boundingBox,
const DrawColor &  color = DEFAULTS.colorBox,
bool  ignoreLengthScale = false 
)

Draw an axis aligned bounding box.

Definition at line 200 of file DebugDrawerTopic.cpp.

+ Here is the call graph for this function:

◆ drawBox() [4/4]

void drawBox ( const VisuID id,
const VirtualRobot::BoundingBox &  boundingBox,
const Eigen::Matrix4f &  pose,
const DrawColor &  color = DEFAULTS.colorBox,
bool  ignoreLengthScale = false 
)

Draw a locally axis aligned bounding box, transformed by the given pose.

Definition at line 206 of file DebugDrawerTopic.cpp.

+ Here is the call graph for this function:

◆ drawBoxEdges() [1/6]

void drawBoxEdges ( const VisuID id,
const Eigen::Matrix32f aabb,
const Eigen::Matrix4f &  pose,
float  width = DEFAULTS.boxEdgesWidth,
const DrawColor &  color = DEFAULTS.boxEdgesColor,
bool  ignoreLengthScale = false 
)

Draw edges of a locally axis-aligned bounding box, transformed by the given pose (as a line set).

Definition at line 322 of file DebugDrawerTopic.cpp.

+ Here is the call graph for this function:

◆ drawBoxEdges() [2/6]

void drawBoxEdges ( const VisuID id,
const Eigen::Matrix32f aabb,
float  width = DEFAULTS.boxEdgesWidth,
const DrawColor &  color = DEFAULTS.boxEdgesColor,
bool  ignoreLengthScale = false 
)

Draw edges of an axis aligned bounding box (as a line set).

Definition at line 302 of file DebugDrawerTopic.cpp.

+ Here is the call graph for this function:

◆ drawBoxEdges() [3/6]

void drawBoxEdges ( const VisuID id,
const Eigen::Matrix4f &  pose,
const Eigen::Vector3f &  extents,
float  width = DEFAULTS.boxEdgesWidth,
const DrawColor &  color = DEFAULTS.boxEdgesColor,
bool  ignoreLengthScale = false 
)

Draw box edges (as a line set).

Definition at line 234 of file DebugDrawerTopic.cpp.

+ Here is the call graph for this function:

◆ drawBoxEdges() [4/6]

void drawBoxEdges ( const VisuID id,
const Eigen::Vector3f &  position,
const Eigen::Quaternionf orientation,
const Eigen::Vector3f &  extents,
float  width = DEFAULTS.boxEdgesWidth,
const DrawColor &  color = DEFAULTS.boxEdgesColor,
bool  ignoreLengthScale = false 
)

Draw box edges (as a line set).

Definition at line 225 of file DebugDrawerTopic.cpp.

+ Here is the caller graph for this function:

◆ drawBoxEdges() [5/6]

void drawBoxEdges ( const VisuID id,
const VirtualRobot::BoundingBox &  boundingBox,
const Eigen::Matrix4f &  pose,
float  width = DEFAULTS.boxEdgesWidth,
const DrawColor &  color = DEFAULTS.boxEdgesColor,
bool  ignoreLengthScale = false 
)

Draw edges of a locally axis-aligned bounding box, transformed by the given pose (as a line set).

Definition at line 309 of file DebugDrawerTopic.cpp.

+ Here is the call graph for this function:

◆ drawBoxEdges() [6/6]

void drawBoxEdges ( const VisuID id,
const VirtualRobot::BoundingBox &  boundingBox,
float  width = DEFAULTS.boxEdgesWidth,
const DrawColor &  color = DEFAULTS.boxEdgesColor,
bool  ignoreLengthScale = false 
)

Draw edges of an axis aligned bounding box (as a line set).

Definition at line 295 of file DebugDrawerTopic.cpp.

+ Here is the call graph for this function:

◆ drawCylinder() [1/2]

void drawCylinder ( const VisuID id,
const Eigen::Vector3f &  center,
const Eigen::Quaternionf orientation,
float  length,
float  radius,
const DrawColor &  color = DEFAULTS.colorCylinder,
bool  ignoreLengthScale = false 
)

Draw a cylinder with center and orientation.

An identity orientation represents a cylinder with an axis aligned to the Y-axis.

Parameters
lengthThe full length (not half-length).

Definition at line 355 of file DebugDrawerTopic.cpp.

+ Here is the call graph for this function:

◆ drawCylinder() [2/2]

void drawCylinder ( const VisuID id,
const Eigen::Vector3f &  center,
const Eigen::Vector3f &  direction,
float  length,
float  radius,
const DrawColor &  color = DEFAULTS.colorCylinder,
bool  ignoreLengthScale = false 
)

Draw a cylinder with center and direction.

Parameters
lengthThe full length (not half-length).

Definition at line 341 of file DebugDrawerTopic.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ drawCylinderFromTo()

void drawCylinderFromTo ( const VisuID id,
const Eigen::Vector3f &  from,
const Eigen::Vector3f &  to,
float  radius,
const DrawColor &  color = DEFAULTS.colorCylinder,
bool  ignoreLengthScale = false 
)

Draw a cylinder from start to end.

Definition at line 365 of file DebugDrawerTopic.cpp.

+ Here is the call graph for this function:

◆ drawFloor()

void drawFloor ( const VisuID id = { "floor" },
const Eigen::Vector3f &  at = Eigen::Vector3f::Zero(),
const Eigen::Vector3f &  up = Eigen::Vector3f::UnitZ(),
float  size = 5,
const DrawColor &  color = DEFAULTS.colorFloor,
bool  ignoreLengthScale = false 
)

Draw a quad representing the floor.

Parameters
atthe quad'S center
upthe up direction (normal of the floor plane)
sizethe quad's edge length

Definition at line 887 of file DebugDrawerTopic.cpp.

+ Here is the call graph for this function:

◆ drawLine()

void drawLine ( const VisuID id,
const Eigen::Vector3f &  from,
const Eigen::Vector3f &  to,
float  width,
const DrawColor &  color = DEFAULTS.colorLine,
bool  ignoreLengthScale = false 
)

Draw a line from start to end.

Definition at line 480 of file DebugDrawerTopic.cpp.

+ Here is the call graph for this function:

◆ drawLineSet() [1/3]

void drawLineSet ( const VisuID id,
const DebugDrawerLineSet &  lineSet,
bool  ignoreLengthScale = false 
)

Draw a line set.

Definition at line 503 of file DebugDrawerTopic.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ drawLineSet() [2/3]

void drawLineSet ( const VisuID id,
const std::vector< Eigen::Vector3f > &  points,
float  width,
const DrawColor &  color = DEFAULTS.colorLine,
bool  ignoreLengthScale = false 
)

Draw a set of lines with constant color.

Parameters
pointsList of start and end points [ s1, e1, s2, e2, ..., sn, en ].

Definition at line 529 of file DebugDrawerTopic.cpp.

+ Here is the call graph for this function:

◆ drawLineSet() [3/3]

void drawLineSet ( const VisuID id,
const std::vector< Eigen::Vector3f > &  points,
float  width,
const DrawColor &  colorA,
const DrawColor &  colorB,
const std::vector< float > &  intensitiesB,
bool  ignoreLengthScale = false 
)

Draw a set of lines with constant color.

Parameters
pointsList of start and end points [ s1, e1, s2, e2, ..., sn, en ].
colorsList of line colors [ c1, c2, ..., cn ].

Definition at line 552 of file DebugDrawerTopic.cpp.

+ Here is the call graph for this function:

◆ drawPointCloud() [1/5]

void drawPointCloud ( const VisuID id,
const DebugDrawer24BitColoredPointCloud &  pointCloud 
)

Draw a 24 bit colored point cloud.

Definition at line 871 of file DebugDrawerTopic.cpp.

+ Here is the call graph for this function:

◆ drawPointCloud() [2/5]

void drawPointCloud ( const VisuID id,
const DebugDrawerColoredPointCloud &  pointCloud 
)

Draw a colored point cloud.

Definition at line 861 of file DebugDrawerTopic.cpp.

+ Here is the call graph for this function:

◆ drawPointCloud() [3/5]

void drawPointCloud ( const VisuID id,
const DebugDrawerPointCloud &  pointCloud 
)

Draw a non-colored point cloud.

Definition at line 851 of file DebugDrawerTopic.cpp.

+ Here is the call graph for this function:

◆ drawPointCloud() [4/5]

void drawPointCloud ( const VisuID id,
const PointCloudT pointCloud,
const ColorFuncT &  colorFunc,
float  pointSize = DEFAULTS.pointCloudPointSize,
bool  ignoreLengthScale = false 
)

Draw a colored point cloud with custom colors.

pointCloud must be iterable and its elements must provide members x, y, z. The color of a point is specified by colorFunc, which must be a callable taking an element of pointCloud and returning its color as armarx::DrawColor.

Definition at line 892 of file DebugDrawerTopic.h.

+ Here is the call graph for this function:

◆ drawPointCloud() [5/5]

void drawPointCloud ( const VisuID id,
const PointCloudT pointCloud,
const DrawColor &  color = DEFAULTS.colorPointCloud,
float  pointSize = DEFAULTS.pointCloudPointSize,
bool  ignoreLengthScale = false 
)

Draw a unicolored point cloud.

pointCloud must be iterable and its elements must provide members x, y, z.

Definition at line 849 of file DebugDrawerTopic.h.

+ Here is the caller graph for this function:

◆ drawPointCloudLabeled()

void drawPointCloudLabeled ( const VisuID id,
const PointCloudT pointCloud,
float  pointSize = DEFAULTS.pointCloudPointSize,
bool  ignoreLengthScale = false 
)

Draw a colored point cloud with colors according to labels.

pointCloud must be iterable and its elements must provide members x, y, z, label.

Definition at line 878 of file DebugDrawerTopic.h.

+ Here is the call graph for this function:

◆ drawPointCloudRGBA()

void drawPointCloudRGBA ( const VisuID id,
const PointCloudT pointCloud,
float  pointSize = DEFAULTS.pointCloudPointSize,
bool  ignoreLengthScale = false 
)

Draw a colored point cloud with RGBA information.

pointCloud must be iterable and its elements must provide members x, y, z, r, g, b, a.

Definition at line 864 of file DebugDrawerTopic.h.

+ Here is the call graph for this function:

◆ drawPolygon()

void drawPolygon ( const VisuID id,
const std::vector< Eigen::Vector3f > &  points,
const DrawColor &  colorFace,
float  lineWidth = 0,
const DrawColor &  colorEdge = DEFAULTS.colorPolygonEdge,
bool  ignoreLengthScale = false 
)

Draw a polygon.

Definition at line 448 of file DebugDrawerTopic.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ drawPose() [1/4]

void drawPose ( const VisuID id,
const Eigen::Matrix4f &  pose,
bool  ignoreLengthScale = false 
)

Draw a pose (with the preset scale).

Definition at line 586 of file DebugDrawerTopic.cpp.

+ Here is the caller graph for this function:

◆ drawPose() [2/4]

void drawPose ( const VisuID id,
const Eigen::Matrix4f &  pose,
float  scale,
bool  ignoreLengthScale = false 
)

Draw a pose with the given scale.

Definition at line 602 of file DebugDrawerTopic.cpp.

+ Here is the call graph for this function:

◆ drawPose() [3/4]

void drawPose ( const VisuID id,
const Eigen::Vector3f &  pos,
const Eigen::Quaternionf ori,
bool  ignoreLengthScale = false 
)

Draw a pose (with the preset scale).

Definition at line 593 of file DebugDrawerTopic.cpp.

+ Here is the call graph for this function:

◆ drawPose() [4/4]

void drawPose ( const VisuID id,
const Eigen::Vector3f &  pos,
const Eigen::Quaternionf ori,
float  scale,
bool  ignoreLengthScale = false 
)

Draw a pose with the given scale.

Definition at line 623 of file DebugDrawerTopic.cpp.

+ Here is the call graph for this function:

◆ drawRobot()

void drawRobot ( const VisuID id,
const std::string &  robotFile,
const std::string &  armarxProject,
armarx::DrawStyle  drawStyle = armarx::DrawStyle::FullModel 
)

Draw a robot.

Afterwards, updateRobot*() methods can be used with the same VisuID.

Parameters
robotFileThe robot file. Either an absolute path, or a path relative to the data directory of the ArmarX project specified by armarxProject.
armarxProjectThe name of the ArmarX project keeping the robot model.
drawStyleThe draw style (full or collision model).

Definition at line 640 of file DebugDrawerTopic.cpp.

+ Here is the call graph for this function:

◆ drawSphere()

void drawSphere ( const VisuID id,
const Eigen::Vector3f &  center,
float  radius,
const DrawColor &  color = DEFAULTS.colorSphere,
bool  ignoreLengthScale = false 
)

Draw a sphere.

Definition at line 388 of file DebugDrawerTopic.cpp.

+ Here is the call graph for this function:

◆ drawText()

void drawText ( const VisuID id,
const Eigen::Vector3f &  position,
const std::string &  text,
int  size = 10,
const DrawColor  color = DEFAULTS.colorText,
bool  ignoreLengthScale = false 
)

Draw text at the specified position.

Parameters
sizethe text size (in pixels, not affected by length scaling)

Definition at line 167 of file DebugDrawerTopic.cpp.

+ Here is the call graph for this function:

◆ drawTriMesh()

void drawTriMesh ( const VisuID id,
const VirtualRobot::TriMeshModel &  triMesh,
const DrawColor &  color = {.5, .5, .5, 1},
bool  ignoreLengthScale = false 
)

Draw a TriMeshModel as DebugDrawerTriMesh.

Definition at line 710 of file DebugDrawerTopic.cpp.

+ Here is the call graph for this function:

◆ drawTriMeshAsPolygons() [1/3]

void drawTriMeshAsPolygons ( const VisuID id,
const VirtualRobot::TriMeshModel &  trimesh,
const DrawColor &  colorFace = DEFAULTS.colorPolygonFace,
float  lineWidth = 0,
const DrawColor &  colorEdge = DEFAULTS.colorPolygonEdge,
bool  ignoreLengthScale = false 
)

Draw a TriMeshModel as individual polygons.

Definition at line 774 of file DebugDrawerTopic.cpp.

+ Here is the call graph for this function:

◆ drawTriMeshAsPolygons() [2/3]

void drawTriMeshAsPolygons ( const VisuID id,
const VirtualRobot::TriMeshModel &  trimesh,
const Eigen::Matrix4f &  pose,
const DrawColor &  colorFace = DEFAULTS.colorPolygonFace,
float  lineWidth = 0,
const DrawColor &  colorEdge = DEFAULTS.colorPolygonEdge,
bool  ignoreLengthScale = false 
)

Draw a TriMeshModel as individual polygons, transformed by the given pose.

Definition at line 784 of file DebugDrawerTopic.cpp.

+ Here is the call graph for this function:

◆ drawTriMeshAsPolygons() [3/3]

void drawTriMeshAsPolygons ( const VisuID id,
const VirtualRobot::TriMeshModel &  trimesh,
const std::vector< DrawColor > &  faceColorsInner,
float  lineWidth = 0,
const DrawColor &  colorEdge = DEFAULTS.colorPolygonEdge,
bool  ignoreLengthScale = false 
)

Draw a TriMeshModel as individual polygons with individual face colors.

Definition at line 822 of file DebugDrawerTopic.cpp.

+ Here is the call graph for this function:

◆ enabled()

bool enabled ( ) const

Indicate whether visualization is enabled, i.e. a topic is set and enabled flag is set.

Definition at line 68 of file DebugDrawerTopic.cpp.

+ Here is the caller graph for this function:

◆ getGlasbeyLUTColor() [1/3]

DrawColor getGlasbeyLUTColor ( int  id,
float  alpha = 1.f 
)
static

Get a color from the Glasbey look-up-table.

Definition at line 1008 of file DebugDrawerTopic.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getGlasbeyLUTColor() [2/3]

DrawColor getGlasbeyLUTColor ( std::size_t  id,
float  alpha = 1.f 
)
static

Definition at line 1018 of file DebugDrawerTopic.cpp.

+ Here is the call graph for this function:

◆ getGlasbeyLUTColor() [3/3]

DrawColor getGlasbeyLUTColor ( uint32_t  id,
float  alpha = 1.f 
)
static

Definition at line 1013 of file DebugDrawerTopic.cpp.

+ Here is the call graph for this function:

◆ getLayer()

const std::string & getLayer ( ) const

Get the default layer (used if no layer is passed to a method).

Definition at line 83 of file DebugDrawerTopic.cpp.

+ Here is the caller graph for this function:

◆ getLengthScale()

float getLengthScale ( ) const

Get the scaling for positions, lengths and distances.

Definition at line 93 of file DebugDrawerTopic.cpp.

◆ getPoseScale()

float getPoseScale ( ) const

Get the scale for pose visualization.

Definition at line 113 of file DebugDrawerTopic.cpp.

◆ getTopic() [1/2]

DebugDrawerInterfacePrx getTopic ( ) const

Get the topic.

Definition at line 58 of file DebugDrawerTopic.cpp.

+ Here is the caller graph for this function:

◆ getTopic() [2/2]

void getTopic ( ManagedIceObject component,
const std::string &  topicNameOverride = "" 
)

Get the topic by calling getTopic([topicName]) on the given component.

Parameters
componentThe component (*this when called from a component).
topicNameOverrideOptional override for the topic name. If left empty (default), uses the standard topic name (see TOPIC_NAME).

Definition at line 78 of file DebugDrawerTopic.cpp.

+ Here is the call graph for this function:

◆ hsv2rgb()

Eigen::Vector3f hsv2rgb ( const Eigen::Vector3f &  hsv)
static

Convert a HSV color RGB.

Parameters
HSVcolor as [h, s, v] with h in [0 deg, 360 deg] and s, v in [0, 1].
Returns
RGB color as [r, g, b] with r, g, b in [0, 1].

Definition at line 1002 of file DebugDrawerTopic.cpp.

◆ offeringTopic()

void offeringTopic ( ManagedIceObject component,
const std::string &  topicNameOverride = "" 
) const

Call offeringTopic([topicName]) on the given component.

Parameters
componentThe component (*this when called from a component).
topicNameOverrideOptional override for the topic name. If left empty (default), uses the standard topic name (see TOPIC_NAME).

Definition at line 73 of file DebugDrawerTopic.cpp.

+ Here is the caller graph for this function:

◆ operator bool()

operator bool ( ) const

Indicate whether visualization is enabled.

See also
enabled()

Definition at line 972 of file DebugDrawerTopic.cpp.

◆ operator const DebugDrawerInterfacePrx &()

operator const DebugDrawerInterfacePrx & ( ) const

Definition at line 982 of file DebugDrawerTopic.cpp.

◆ operator DebugDrawerInterfacePrx &()

operator DebugDrawerInterfacePrx & ( )

Conversion operator to DebugDrawerInterfacePrx.

Definition at line 977 of file DebugDrawerTopic.cpp.

◆ operator->() [1/2]

const DebugDrawerInterfacePrx & operator-> ( )

Pointer member access operator to access the raw debug drawer proxy.

Definition at line 987 of file DebugDrawerTopic.cpp.

◆ operator->() [2/2]

const DebugDrawerInterfacePrx& operator-> ( ) const

◆ removeArrow()

void removeArrow ( const VisuID id)

Remove an arrow.

Definition at line 439 of file DebugDrawerTopic.cpp.

+ Here is the call graph for this function:

◆ removeBox()

void removeBox ( const VisuID id)

Remove a box.

Definition at line 217 of file DebugDrawerTopic.cpp.

+ Here is the call graph for this function:

◆ removeboxEdges()

void removeboxEdges ( const VisuID id)

Remove box edges (as a line set).

Definition at line 335 of file DebugDrawerTopic.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ removeCylinder()

void removeCylinder ( const VisuID id)

Remove a cylinder.

Definition at line 379 of file DebugDrawerTopic.cpp.

+ Here is the call graph for this function:

◆ removeLine()

void removeLine ( const VisuID id)

Remove a line.

Definition at line 494 of file DebugDrawerTopic.cpp.

+ Here is the call graph for this function:

◆ removeLineSet()

void removeLineSet ( const VisuID id)

Remove a line set.

Definition at line 577 of file DebugDrawerTopic.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ removePolygon()

void removePolygon ( const VisuID id)

Remove a polygon.

Definition at line 471 of file DebugDrawerTopic.cpp.

+ Here is the call graph for this function:

◆ removePose()

void removePose ( const VisuID id)

Remove a pose.

Definition at line 631 of file DebugDrawerTopic.cpp.

+ Here is the call graph for this function:

◆ removeRobot()

void removeRobot ( const VisuID id)

Remove a robot visualization.

Definition at line 701 of file DebugDrawerTopic.cpp.

+ Here is the call graph for this function:

◆ removeSphere()

void removeSphere ( const VisuID id)

Remove a sphere.

Definition at line 402 of file DebugDrawerTopic.cpp.

+ Here is the call graph for this function:

◆ rgb2hsv()

Eigen::Vector3f rgb2hsv ( const Eigen::Vector3f &  rgb)
static

Convert a RGB color to HSV.

Parameters
rgbRGB color as [r, g, b] with r, g, b in [0, 1].
Returns
HSV color as [h, s, v] with h in [0 deg, 360 deg] and s, v in [0, 1].

Definition at line 997 of file DebugDrawerTopic.cpp.

◆ setEnabled()

void setEnabled ( bool  enabled)

Set whether drawing is enabled.

Visualization is only truly enabled if the topic is set.

Definition at line 63 of file DebugDrawerTopic.cpp.

+ Here is the call graph for this function:

◆ setLayer()

void setLayer ( const std::string &  layer)

Set the default layer (used if no layer is passed to a method).

Definition at line 88 of file DebugDrawerTopic.cpp.

◆ setLengthScale()

void setLengthScale ( float  scale)

Set the scale for positions, lengths and distances.

Definition at line 98 of file DebugDrawerTopic.cpp.

+ Here is the caller graph for this function:

◆ setLengthScaleMetersToMillimeters()

void setLengthScaleMetersToMillimeters ( )

Set the scale for positions, lengths and distances to 1000.

Definition at line 103 of file DebugDrawerTopic.cpp.

+ Here is the call graph for this function:

◆ setLengthScaleMillimetersToMeters()

void setLengthScaleMillimetersToMeters ( )

Set the scale for positions, lengths and distances to 0.001.

Definition at line 108 of file DebugDrawerTopic.cpp.

+ Here is the call graph for this function:

◆ setPoseScale()

void setPoseScale ( float  scale)

Set the scale for pose visualization.

This value will be used for all successive calls to drawPose().

Definition at line 118 of file DebugDrawerTopic.cpp.

+ Here is the caller graph for this function:

◆ setPoseScaleMeters()

void setPoseScaleMeters ( )

Set the pose scale to 0.001 (good when drawing in meters).

Definition at line 123 of file DebugDrawerTopic.cpp.

+ Here is the call graph for this function:

◆ setPoseScaleMillimeters()

void setPoseScaleMillimeters ( )

Set the pose scale to 1 (good when drawing in millimeters).

Definition at line 128 of file DebugDrawerTopic.cpp.

+ Here is the call graph for this function:

◆ setShortSleepDuration()

void setShortSleepDuration ( const DurationT &  duration)

Set the duration for "short sleeps".

Definition at line 835 of file DebugDrawerTopic.h.

◆ setTopic()

void setTopic ( const DebugDrawerInterfacePrx topic)

Set the topic.

Definition at line 53 of file DebugDrawerTopic.cpp.

+ Here is the caller graph for this function:

◆ shortSleep()

void shortSleep ( )

Sleep for the shortSleepDuration. Useful after clearing.

Definition at line 133 of file DebugDrawerTopic.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ sleepFor()

void sleepFor ( const DurationT &  duration)

If enabled, sleep for the given duration (e.g. a chrono duration).

Definition at line 826 of file DebugDrawerTopic.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ toDrawColor()

DrawColor toDrawColor ( const ColorT &  color,
float  alpha = 1,
bool  byteToFloat = false 
)
static

Construct a DrawColor from the given color type.

The used color type must have members named r, g and b. Applicable types include:

  • pcl::RGB (byteToFloat = true)
  • armarx::DrawColor (useful to get a color with a different alpha)
Parameters
alphathe alpha (default: 1)
byteToFloatIf true, scale from range [0, 255] to [0, 1]

Definition at line 841 of file DebugDrawerTopic.h.

+ Here is the caller graph for this function:

◆ updateRobotColor()

void updateRobotColor ( const VisuID id,
const DrawColor &  color 
)

Update / set the robot color.

Definition at line 680 of file DebugDrawerTopic.cpp.

+ Here is the call graph for this function:

◆ updateRobotConfig()

void updateRobotConfig ( const VisuID id,
const std::map< std::string, float > &  config 
)

Update / set the robot configuration (joint angles).

Definition at line 670 of file DebugDrawerTopic.cpp.

+ Here is the call graph for this function:

◆ updateRobotNodeColor()

void updateRobotNodeColor ( const VisuID id,
const std::string &  nodeName,
const DrawColor &  color 
)

Update / set the color of a robot node.

Definition at line 690 of file DebugDrawerTopic.cpp.

+ Here is the call graph for this function:

◆ updateRobotPose() [1/2]

void updateRobotPose ( const VisuID id,
const Eigen::Matrix4f &  pose,
bool  ignoreScale = false 
)

Update / set the robot pose.

Definition at line 651 of file DebugDrawerTopic.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ updateRobotPose() [2/2]

void updateRobotPose ( const VisuID id,
const Eigen::Vector3f &  pos,
const Eigen::Quaternionf ori,
bool  ignoreScale = false 
)

Update / set the robot pose.

Definition at line 662 of file DebugDrawerTopic.cpp.

+ Here is the call graph for this function:

Member Data Documentation

◆ DEFAULTS

const DebugDrawerTopic::Defaults DEFAULTS = {}
static

Definition at line 232 of file DebugDrawerTopic.h.


The documentation for this class was generated from the following files:
armarx::DebugDrawerTopic::DebugDrawerTopic
DebugDrawerTopic(const std::string &layer=DEFAULT_LAYER)
Construct without topic, and optional layer.
Definition: DebugDrawerTopic.cpp:44
GfxTL::Identity
void Identity(MatrixXX< N, N, T > *a)
Definition: MatrixXX.h:523
GfxTL::Matrix4f
MatrixXX< 4, 4, float > Matrix4f
Definition: MatrixXX.h:601