29 #ifndef CDPL_VIS_TRIANGLEMESH3DFUNCTIONS_HPP
30 #define CDPL_VIS_TRIANGLEMESH3DFUNCTIONS_HPP
97 std::size_t vtx_offs = 0, std::size_t vtx_count = 0);
110 std::size_t vtx_offs = 0, std::size_t vtx_count = 0);
121 std::size_t vtx_offs = 0, std::size_t vtx_count = 0);
132 std::size_t vtx_offs = 0, std::size_t vtx_count = 0);
143 std::size_t vtx_offs = 0, std::size_t vtx_count = 0);
154 std::size_t vtx_offs = 0, std::size_t vtx_count = 0);
Definition of matrix data types.
Definition of class CDPL::Math::VectorArray.
Definition of the preprocessor macro CDPL_VIS_API.
#define CDPL_VIS_API
Tells the compiler/linker which classes, functions and variables are part of the library API.
Data structure for the storage of 3D triangle mesh vertices, vertex normals and faces.
Definition: TriangleMesh3D.hpp:50
VectorArray< Vector3D > Vector3DArray
Array storing vectors of type Math::Vector3D.
Definition: VectorArray.hpp:87
CDPL_VIS_API void rotateX(TriangleMesh3D &mesh, double angle, std::size_t vtx_offs=0, std::size_t vtx_count=0)
Rotates the vertices of mesh around the x-axis by the angle angle.
CDPL_VIS_API void calcVertexFromFaceNormals(TriangleMesh3D &mesh, bool weight_face_size=false)
Computes per-vertex normals of mesh from its face normals and stores them in the mesh.
CDPL_VIS_API void rotateY(TriangleMesh3D &mesh, double angle, std::size_t vtx_offs=0, std::size_t vtx_count=0)
Rotates the vertices of mesh around the y-axis by the angle angle.
CDPL_VIS_API void scale(TriangleMesh3D &mesh, double scale_x, double scale_y, double scale_z, std::size_t vtx_offs=0, std::size_t vtx_count=0)
Scales the vertices of mesh by the per-axis factors (scale_x, scale_y, scale_z).
CDPL_VIS_API void rotateZ(TriangleMesh3D &mesh, double angle, std::size_t vtx_offs=0, std::size_t vtx_count=0)
Rotates the vertices of mesh around the z-axis by the angle angle.
CDPL_VIS_API void translate(TriangleMesh3D &mesh, double trans_x, double trans_y, double trans_z, std::size_t vtx_offs=0, std::size_t vtx_count=0)
Translates the vertices of mesh by the vector (trans_x, trans_y, trans_z).
CDPL_VIS_API void subdivideSpherical(TriangleMesh3D &mesh)
Subdivides each triangle face of mesh and projects the new vertices onto the unit sphere.
CDPL_VIS_API std::size_t removeVertexDuplicates(TriangleMesh3D &mesh, bool check_vn=true, double tol=0.0)
Merges duplicate vertices of mesh and updates the face vertex indices accordingly.
CDPL_VIS_API void transform(TriangleMesh3D &mesh, const Math::Matrix4D &mtx, std::size_t vtx_offs=0, std::size_t vtx_count=0)
Applies the affine transformation matrix mtx to the vertices of mesh.
The namespace of the Chemical Data Processing Library.