Base: start of refactoring of InventorBuilder
This commit is contained in:
@@ -1172,15 +1172,15 @@ void MeshObject::trimByPlane(const Base::Vector3f& base, const Base::Vector3f& n
|
||||
|
||||
// Apply the inverted mesh placement to the plane because the trimming is done
|
||||
// on the untransformed mesh data
|
||||
Base::Vector3f baseL, normalL;
|
||||
Base::Vector3f basePlane, normalPlane;
|
||||
Base::Placement meshPlacement = getPlacement();
|
||||
meshPlacement.invert();
|
||||
meshPlacement.multVec(base, baseL);
|
||||
meshPlacement.getRotation().multVec(normal, normalL);
|
||||
meshPlacement.multVec(base, basePlane);
|
||||
meshPlacement.getRotation().multVec(normal, normalPlane);
|
||||
|
||||
MeshCore::MeshFacetGrid meshGrid(this->_kernel);
|
||||
trim.CheckFacets(meshGrid, baseL, normalL, trimFacets, removeFacets);
|
||||
trim.TrimFacets(trimFacets, baseL, normalL, triangle);
|
||||
trim.CheckFacets(meshGrid, basePlane, normalPlane, trimFacets, removeFacets);
|
||||
trim.TrimFacets(trimFacets, basePlane, normalPlane, triangle);
|
||||
if (!removeFacets.empty())
|
||||
this->deleteFacets(removeFacets);
|
||||
if (!triangle.empty())
|
||||
|
||||
@@ -273,8 +273,8 @@ MeshCore::MeshKernel* MeshAlgos::boolean(MeshCore::MeshKernel* pMesh1,
|
||||
self_intersects = gts_surface_is_self_intersecting (s3);
|
||||
if (self_intersects != NULL) {
|
||||
// if (verbose)
|
||||
// gts_surface_print_stats (self_intersects, stderr);
|
||||
// gts_surface_write (self_intersects, stdout);
|
||||
// gts_surface_print_stats (self_intersects, stderr);
|
||||
// gts_surface_write (self_intersects, stdout);
|
||||
gts_object_destroy (GTS_OBJECT (self_intersects));
|
||||
gts_object_destroy (GTS_OBJECT (s1));
|
||||
gts_object_destroy (GTS_OBJECT (s2));
|
||||
@@ -350,7 +350,7 @@ GtsSurface* MeshAlgos::createGTSSurface(MeshCore::MeshKernel* Mesh)
|
||||
|
||||
// creating the edges and add the face to the surface
|
||||
gts_surface_add_face (Surf,
|
||||
gts_face_new (Surf->face_class,
|
||||
gts_face_new (Surf->face_class,
|
||||
new_edge (aVertex[p1],aVertex[p2]),
|
||||
new_edge (aVertex[p2],aVertex[p3]),
|
||||
new_edge (aVertex[p3],aVertex[p1])));
|
||||
|
||||
@@ -1091,7 +1091,7 @@ void TopoShape::exportFaceSet(double dev, double ca,
|
||||
builder.addShapeHints((float)ca);
|
||||
if (supportFaceColors) {
|
||||
App::Color c = colors[index];
|
||||
builder.addMaterial(c.r, c.g, c.b, c.a);
|
||||
builder.addMaterial(Base::ColorRGB{c.r, c.g, c.b}, c.a);
|
||||
}
|
||||
|
||||
builder.beginPoints();
|
||||
@@ -1133,7 +1133,9 @@ void TopoShape::exportLineSet(std::ostream& str) const
|
||||
vertices.push_back(Base::convertTo<Base::Vector3f>(p));
|
||||
});
|
||||
|
||||
builder.addLineSet(vertices, 2, 0, 0, 0);
|
||||
Base::DrawStyle drawStyle;
|
||||
drawStyle.lineWidth = 2.0F;
|
||||
builder.addLineSet(vertices, drawStyle, Base::ColorRGB{0, 0, 0});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
|
||||
#include "Mod/Points/App/Points.h"
|
||||
#include <Base/Builder3D.h>
|
||||
#include <Base/Converter.h>
|
||||
#include <Base/VectorPy.h>
|
||||
#include <Base/GeometryPyCXX.h>
|
||||
#include <boost/math/special_functions/fpclassify.hpp>
|
||||
@@ -126,7 +127,7 @@ PyObject* PointsPy::writeInventor(PyObject * args)
|
||||
builder.beginPoints();
|
||||
PointKernel* kernel = getPointKernelPtr();
|
||||
for (Points::PointKernel::const_iterator it = kernel->begin(); it != kernel->end(); ++it)
|
||||
builder.addPoint((float)it->x,(float)it->y,(float)it->z);
|
||||
builder.addPoint(Base::convertTo<Base::Vector3f>(*it));
|
||||
builder.endPoints();
|
||||
builder.addPointSet();
|
||||
builder.close();
|
||||
|
||||
Reference in New Issue
Block a user