58 class LX_BASE_EXPORT Builder3D
68 void startPoints(
short pointSize=2,
float color_r=1.0,
float color_g=0.0,
float color_b=0.0);
71 void addPoint(
float x,
float y,
float z);
77 void addSinglePoint(
float x,
float y,
float z,
short pointSize=2,
float color_r=1.0,
float color_g=1.0,
float color_b=1.0);
79 void addSinglePoint(
const Base::Vector3f &vec,
short pointSize=2,
float color_r=1.0,
float color_g=1.0,
float color_b=1.0);
84 void addSingleLine(
Vector3f pt1,
Vector3f pt2,
short lineSize=2,
float color_r=1.0,
float color_g=1.0,
float color_b=1.0,
unsigned short linePattern = 0xffff);
87 void addSingleArrow(
Vector3f pt1,
Vector3f pt2,
short lineSize=2,
float color_r=1.0,
float color_g=1.0,
float color_b=1.0,
unsigned short linePattern = 0xffff);
92 void addSingleTriangle(
Vector3f pt0,
Vector3f pt1,
Vector3f pt2,
bool filled =
true,
short lineSize=2,
float color_r=1.0,
float color_g=1.0,
float color_b=1.0);
105 void addText(
float pos_x,
float pos_y ,
float pos_z,
const char * text,
float color_r=1.0,
float color_g=1.0,
float color_b=1.0);
108 void addText(
const Base::Vector3f &vec,
const char * text,
float color_r=1.0,
float color_g=1.0,
float color_b=1.0);
116 void saveToLog(
void);
119 void saveToFile(
const char* FileName);
124 std::stringstream result;
160 void beginSeparator();
169 void addInfo(
const char* str);
174 void addLabel(
const char* str);
183 void addBaseColor(
float color_r,
float color_g,
float color_b);
191 void addMaterial(
float color_r,
float color_g,
float color_b,
float color_a=0);
196 void beginMaterial();
207 void addColor(
float color_r,
float color_g,
float color_b);
214 void addMaterialBinding(
const char* binding =
"OVERALL");
222 void addDrawStyle(
short pointSize,
short lineWidth,
223 unsigned short linePattern = 0xffff,
const char* style=
"FILLED");
228 void addShapeHints(
float crease=0.0f);
236 void addPolygonOffset(
float factor=1.0f,
float units=1.0f,
const char* styles=
"FILLED",
bool on=
true);
241 void addPoint(
float x,
float y,
float z);
246 void addPoints(
const std::vector<Vector3f> &vec);
266 void addNormalBinding(
const char*);
271 void addSingleLine(
const Vector3f& pt1,
const Vector3f& pt2,
short lineSize=2,
273 float color_r=1.0,
float color_g=1.0,
float color_b=1.0,
unsigned short linePattern = 0xffff);
275 void addSingleArrow(
const Vector3f& pt1,
const Vector3f& pt2,
short lineSize=2,
276 float color_r=1.0,
float color_g=1.0,
float color_b=1.0,
unsigned short linePattern = 0xffff);
278 void addLineSet(
const std::vector<Vector3f>& points,
short lineSize=2,
279 float color_r=1.0,
float color_g=1.0,
float color_b=1.0,
unsigned short linePattern = 0xffff);
288 float color_r=1.0,
float color_g=1.0,
float color_b=1.0);
289 void addSinglePlane(
const Vector3f& base,
const Vector3f& eX,
const Vector3f& eY,
float length,
float width,
bool filled =
true,
290 short lineSize=2,
float color_r=1.0,
float color_g=1.0,
float color_b=1.0);
291 void addIndexedFaceSet(
const std::vector<int>& indices);
292 void addFaceSet(
const std::vector<int>& vertices);
297 void addNurbsSurface(
const std::vector<Base::Vector3f>& controlPoints,
298 int numUControlPoints,
int numVControlPoints,
299 const std::vector<float>& uKnots,
const std::vector<float>& vKnots);
300 void addCylinder(
float radius,
float height);
301 void addSphere(
float radius);
306 void addBoundingBox(
const Vector3f& pt1,
const Vector3f& pt2,
short lineWidth=2,
307 float color_r=1.0,
float color_g=1.0,
float color_b=1.0);
314 void addTransformation(
const Vector3f& translation,
const Vector3f& rotationaxis,
float fAngle);
319 void addText(
float pos_x,
float pos_y ,
float pos_z,
const char * text,
321 float color_r=1.0,
float color_g=1.0,
float color_b=1.0);
323 void addText(
const Vector3f &vec,
const char * text,
float color_r=1.0,
float color_g=1.0,
float color_b=1.0);
331 std::ostream& result;