mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-19 14:41:25 +00:00
OCC7.5 to OCC7.6 -> depracated Poly_Triangulation Nodes()
This commit is contained in:
@@ -3692,7 +3692,6 @@ bool IfcGeom::Kernel::triangulate_wire(const std::vector<TopoDS_Wire>& wires, To
|
|||||||
Handle_Poly_Triangulation tri = BRep_Tool::Triangulation(face, loc);
|
Handle_Poly_Triangulation tri = BRep_Tool::Triangulation(face, loc);
|
||||||
|
|
||||||
if (!tri.IsNull()) {
|
if (!tri.IsNull()) {
|
||||||
const TColgp_Array1OfPnt& nodes = tri->Nodes();
|
|
||||||
|
|
||||||
const Poly_Array1OfTriangle& triangles = tri->Triangles();
|
const Poly_Array1OfTriangle& triangles = tri->Triangles();
|
||||||
for (int i = 1; i <= triangles.Length(); ++i) {
|
for (int i = 1; i <= triangles.Length(); ++i) {
|
||||||
@@ -3708,7 +3707,7 @@ bool IfcGeom::Kernel::triangulate_wire(const std::vector<TopoDS_Wire>& wires, To
|
|||||||
TopoDS_Vertex vs[2];
|
TopoDS_Vertex vs[2];
|
||||||
|
|
||||||
for (int k = 0; k < 2; ++k) {
|
for (int k = 0; k < 2; ++k) {
|
||||||
const gp_Pnt& uv = nodes.Value(n123[(j + k) % 3]);
|
const gp_Pnt& uv = tri->Node(n123[(j + k) % 3]);
|
||||||
uvnodes[k] = std::make_pair(uv.X(), uv.Y());
|
uvnodes[k] = std::make_pair(uv.X(), uv.Y());
|
||||||
|
|
||||||
auto it = mapping.find(uvnodes[k]);
|
auto it = mapping.find(uvnodes[k]);
|
||||||
|
|||||||
@@ -148,12 +148,11 @@ namespace {
|
|||||||
TopLoc_Location loc;
|
TopLoc_Location loc;
|
||||||
Handle(Poly_Triangulation) tri = BRep_Tool::Triangulation(face, loc);
|
Handle(Poly_Triangulation) tri = BRep_Tool::Triangulation(face, loc);
|
||||||
if (!tri.IsNull()) {
|
if (!tri.IsNull()) {
|
||||||
const TColgp_Array1OfPnt& nodes = tri->Nodes();
|
|
||||||
std::vector<gp_XYZ> coords;
|
std::vector<gp_XYZ> coords;
|
||||||
coords.reserve(nodes.Length());
|
coords.reserve(tri->NbNodes());
|
||||||
|
|
||||||
for (int i = 1; i <= nodes.Length(); ++i) {
|
for (int i = 1; i <= tri->NbNodes(); ++i) {
|
||||||
coords.push_back(nodes(i).Transformed(loc).XYZ());
|
coords.push_back(tri->Node(i).Transformed(loc).XYZ());
|
||||||
}
|
}
|
||||||
|
|
||||||
const Poly_Array1OfTriangle& triangles = tri->Triangles();
|
const Poly_Array1OfTriangle& triangles = tri->Triangles();
|
||||||
|
|||||||
@@ -200,8 +200,6 @@ namespace IfcGeom {
|
|||||||
std::map<std::pair<int,int>,int> edgecount;
|
std::map<std::pair<int,int>,int> edgecount;
|
||||||
std::vector<std::pair<int,int> > edges_temp;
|
std::vector<std::pair<int,int> > edges_temp;
|
||||||
|
|
||||||
const TColgp_Array1OfPnt& nodes = tri->Nodes();
|
|
||||||
const TColgp_Array1OfPnt2d& uvs = tri->UVNodes();
|
|
||||||
std::vector<gp_XYZ> coords;
|
std::vector<gp_XYZ> coords;
|
||||||
BRepGProp_Face prop(face);
|
BRepGProp_Face prop(face);
|
||||||
std::map<int,int> dict;
|
std::map<int,int> dict;
|
||||||
@@ -210,13 +208,13 @@ namespace IfcGeom {
|
|||||||
const bool calculate_normals = !settings().get(IteratorSettings::WELD_VERTICES) &&
|
const bool calculate_normals = !settings().get(IteratorSettings::WELD_VERTICES) &&
|
||||||
!settings().get(IteratorSettings::NO_NORMALS);
|
!settings().get(IteratorSettings::NO_NORMALS);
|
||||||
|
|
||||||
for( int i = 1; i <= nodes.Length(); ++ i ) {
|
for( int i = 1; i <= tri->NbNodes(); ++ i ) {
|
||||||
coords.push_back(nodes(i).Transformed(loc).XYZ());
|
coords.push_back(tri->Node(i).Transformed(loc).XYZ());
|
||||||
trsf.Transforms(*coords.rbegin());
|
trsf.Transforms(*coords.rbegin());
|
||||||
dict[i] = addVertex(surface_style_id, *coords.rbegin());
|
dict[i] = addVertex(surface_style_id, *coords.rbegin());
|
||||||
|
|
||||||
if ( calculate_normals ) {
|
if ( calculate_normals ) {
|
||||||
const gp_Pnt2d& uv = uvs(i);
|
const gp_Pnt2d& uv = tri->UVNode(i);
|
||||||
gp_Pnt p;
|
gp_Pnt p;
|
||||||
gp_Vec normal_direction;
|
gp_Vec normal_direction;
|
||||||
prop.Normal(uv.X(),uv.Y(),p,normal_direction);
|
prop.Normal(uv.X(),uv.Y(),p,normal_direction);
|
||||||
|
|||||||
@@ -688,10 +688,9 @@ IfcUtil::IfcBaseClass* IfcGeom::MAKE_TYPE_NAME(tesselate_)(const TopoDS_Shape& s
|
|||||||
Handle(Poly_Triangulation) tri = BRep_Tool::Triangulation(face, loc);
|
Handle(Poly_Triangulation) tri = BRep_Tool::Triangulation(face, loc);
|
||||||
|
|
||||||
if (!tri.IsNull()) {
|
if (!tri.IsNull()) {
|
||||||
const TColgp_Array1OfPnt& nodes = tri->Nodes();
|
|
||||||
std::vector<IfcSchema::IfcCartesianPoint*> vertices;
|
std::vector<IfcSchema::IfcCartesianPoint*> vertices;
|
||||||
for (int i = 1; i <= nodes.Length(); ++i) {
|
for (int i = 1; i <= tri->NbNodes(); ++i) {
|
||||||
gp_Pnt pnt = nodes(i).Transformed(loc);
|
gp_Pnt pnt = tri->Node(i).Transformed(loc);
|
||||||
std::vector<double> xyz; xyz.push_back(pnt.X()); xyz.push_back(pnt.Y()); xyz.push_back(pnt.Z());
|
std::vector<double> xyz; xyz.push_back(pnt.X()); xyz.push_back(pnt.Y()); xyz.push_back(pnt.Z());
|
||||||
IfcSchema::IfcCartesianPoint* cpnt = new IfcSchema::IfcCartesianPoint(xyz);
|
IfcSchema::IfcCartesianPoint* cpnt = new IfcSchema::IfcCartesianPoint(xyz);
|
||||||
vertices.push_back(cpnt);
|
vertices.push_back(cpnt);
|
||||||
|
|||||||
Reference in New Issue
Block a user