22 #ifndef ADVANCEDVISUALIZATIONFACTORY_H
23 #define ADVANCEDVISUALIZATIONFACTORY_H
27 #include <VirtualRobot/Primitive.h>
28 #include <VirtualRobot/Robot.h>
29 #include <VirtualRobot/Visualization/VisualizationFactory.h>
30 #include <VirtualRobot/Visualization/VisualizationNode.h>
33 #include "VirtualRobot/BoundingBox.h"
34 #include "VirtualRobot/MathTools.h"
35 #include "VirtualRobot/Trajectory.h"
36 #include "VirtualRobot/Visualization/TriMeshModel.h"
60 init(
int& argc,
char* argv[],
const std::string& appName)
override
64 virtual VirtualRobot::VisualizationNodePtr
66 const std::vector<VirtualRobot::Primitive::PrimitivePtr>& primitives,
67 bool boundingBox =
false,
68 Color color = Color::Gray())
override
70 return component.getVisualizationFromPrimitives(primitives, boundingBox, color);
73 virtual VirtualRobot::VisualizationNodePtr
75 bool boundingBox =
false,
78 float scaleZ = 1.0f)
override
80 return component.getVisualizationFromFile(
81 filename, boundingBox, scaleX, scaleY, scaleZ);
84 virtual VirtualRobot::VisualizationNodePtr
86 bool boundingBox =
false,
89 float scaleZ = 1.0f)
override
91 return component.getVisualizationFromFile(ifs, boundingBox, scaleX, scaleY, scaleZ);
94 virtual VirtualRobot::VisualizationNodePtr
100 float colorB = 0.5f)
override
102 return component.createBox(width, height, depth, colorR, colorG, colorB);
105 virtual VirtualRobot::VisualizationNodePtr
107 const Eigen::Vector3f& to,
111 float colorB = 0.5f)
override
113 return component.createLine(from, to, width, colorR, colorG, colorB);
116 virtual VirtualRobot::VisualizationNodePtr
122 float colorB = 0.5f)
override
124 return component.createLine(from, to, width, colorR, colorG, colorB);
127 virtual VirtualRobot::VisualizationNodePtr
131 float colorB = 0.5f)
override
133 return component.createSphere(radius, colorR, colorG, colorB);
136 virtual VirtualRobot::VisualizationNodePtr
138 float circleCompletion,
143 size_t numberOfCircleParts = 30)
override
146 radius, circleCompletion, width, colorR, colorG, colorB, numberOfCircleParts);
149 virtual VirtualRobot::VisualizationNodePtr
152 float completion = 1.0f,
156 float transparency = 0.0f,
158 int rings = 30)
override
161 radius, tubeRadius, completion, colorR, colorG, colorB, transparency, sides, rings);
164 virtual VirtualRobot::VisualizationNodePtr
167 float completion = 1,
171 float transparency = 0.0f,
173 int rings = 30)
override
176 radius, tubeRadius, completion, colorR, colorG, colorB, transparency, sides, rings);
179 virtual VirtualRobot::VisualizationNodePtr
184 float colorB = 0.5f)
override
186 return component.createCylinder(radius, height, colorR, colorG, colorB);
189 virtual VirtualRobot::VisualizationNodePtr
191 std::string* text = NULL,
192 float axisLength = 100.0f,
193 float axisSize = 3.0f,
194 int nrOfBlocks = 10)
override
196 return component.createCoordSystem(scaling, text, axisLength, axisSize, nrOfBlocks);
199 virtual VirtualRobot::VisualizationNodePtr
202 return component.createBoundingBox(bbox, wireFrame);
205 virtual VirtualRobot::VisualizationNodePtr
211 float colorB = 0.5f)
override
213 return component.createVertexVisualization(
214 position, radius, transparency, colorR, colorG, colorB);
217 virtual VirtualRobot::VisualizationNodePtr
222 float scaleZ = 1.0f)
override
224 return component.createTriMeshModelVisualization(model, pose, scaleX, scaleY, scaleZ);
227 virtual VirtualRobot::VisualizationNodePtr
231 bool showLines =
true)
override
233 return component.createTriMeshModelVisualization(model, showNormals, pose, showLines);
236 virtual VirtualRobot::VisualizationNodePtr
238 const Eigen::Vector3f& normal,
243 float colorB = 0.5f)
override
246 position, normal, extend, transparency, colorR, colorG, colorB);
249 virtual VirtualRobot::VisualizationNodePtr
255 float colorB = 0.5f)
override
257 return component.createPlane(plane, extend, transparency, colorR, colorG, colorB);
260 virtual VirtualRobot::VisualizationNodePtr
262 float length = 50.0f,
264 const Color& color = Color::Gray())
override
266 return component.createArrow(n, length, width, color);
269 virtual VirtualRobot::VisualizationNodePtr
271 Color colorNode = Color::Blue(),
272 Color colorLine = Color::Gray(),
273 float nodeSize = 15.0f,
274 float lineSize = 4.0f)
override
276 return component.createTrajectory(t, colorNode, colorLine, nodeSize, lineSize);
279 virtual VirtualRobot::VisualizationNodePtr
281 bool billboard =
false,
282 float scaling = 1.0f,
284 float offsetX = 20.0f,
285 float offsetY = 20.0f,
286 float offsetZ = 0.0f)
override
288 return component.createText(text, billboard, scaling,
c, offsetX, offsetY, offsetZ);
291 virtual VirtualRobot::VisualizationNodePtr
295 bool showAxes =
true,
296 float axesHeight = 4.0f,
297 float axesWidth = 8.0f)
override
299 return component.createEllipse(x, y, z, showAxes, axesHeight, axesWidth);
307 virtual VirtualRobot::VisualizationNodePtr
313 virtual VirtualRobot::VisualizationNodePtr
315 const std::vector<VirtualRobot::VisualizationNodePtr>& visualizations)
const override
317 return component.createUnitedVisualization(visualizations);
326 virtual VirtualRobot::VisualizationNodePtr
327 createCurve(
const std::vector<PoseBasePtr> transition,
bool highligt);