64 initalizeDataFromTriangles();
74 }
catch (
const std::exception& e) {
79 initalizeDataFromTriangles();
91 auto mesh = std::make_shared<TriangularMesh>();
111 finder.fillWithNeighborAngles(
this);
114 VF_LOG_INFO(
"time finding neighbors = {}",
t.getTimeInSeconds());
120 initalizeDataFromTriangles();
128void TriangularMesh::initalizeDataFromTriangles()
146 for (
int i = 0;
i <
size ;
i++)
164 std::vector<GbTriFaceMesh3D::Vertex> *
gbVertices =
new std::vector<GbTriFaceMesh3D::Vertex>(this->
triangleVec.size() * 3);
165 std::vector<GbTriFaceMesh3D::TriFace> *
gbTriangles =
new std::vector<GbTriFaceMesh3D::TriFace>(this->
triangleVec.size());
260std::vector<Vertex> TriangularMesh::getAverrageNormalsPerVertex(std::vector<std::vector<Triangle>>
trianglesPerVertex)
265 eliminateTriangleswithIdenticialNormal(
triangles);
279void TriangularMesh::eliminateTriangleswithIdenticialNormal(std::vector<Triangle> &triangles)
281 for (std::size_t
i = 0;
i <
triangles.size() - 1;
i++) {
291 grid->getTriangularMeshDiscretizationStrategy()->discretize(
this, grid.get(), FLUID, INVALID_OUT_OF_GRID);
#define VF_LOG_WARNING(...)
void setMinMax(const Triangle &t)
static BoundingBox makeInvalidMinMaxBox()
static std::vector< Triangle > readSTL(const std::string &name)
void setMinMax(BoundingBox minmax)
static TriangularMesh * make(const std::string &fileName, const std::vector< uint > ignorePatches=std::vector< uint >())
void findInnerNodes(SPtr< GridImp > grid) override
SPtr< GbTriFaceMesh3D > VF_GbTriFaceMesh3D
SPtr< Object > clone() const override
GbTriFaceMesh3D * getGbTriFaceMesh3D() const
std::vector< Triangle > triangleVec
uint getNumberOfTriangles() const
void setTriangles(std::vector< Triangle > triangles)
void generateGbTriFaceMesh3D()
void changeSizeByDelta(double delta) override
bool operator==(const TriangularMesh &geometry) const
std::shared_ptr< T > SPtr
bool intersectPlane(const Vertex &normal, const Vertex &pointOnPlane, const Vertex &originLine, const Vertex &directionLine, Vertex &intersectionPoint)
void set(const Vertex &v1, const Vertex &v2, const Vertex &v3)
real getMagnitude() const