Class xlifepp::subdivision::SurfMeshQuaCube#
-
class SurfMeshQuaCube : public xlifepp::subdivision::QuadrangleMesh#
-
Inheritence diagram for xlifepp::subdivision::SurfMeshQuaCube:
Collaboration diagram for xlifepp::subdivision::SurfMeshQuaCube:
Public Functions
-
SurfMeshQuaCube(const std::vector<std::pair<real_t, dimen_t>> &rots, const int nboctants, const number_t nbsubdiv = 0, const number_t order = 1, const real_t edgeLength = 1., const Point Center = Point(0, 0, 0), const number_t minVertexNum = 1, const number_t minElementNum = 1)#
-
main constructor
Build a mesh of quadrangles by successive subdivisions from an initial mesh of quadrangles.
- Parameters:
-
rots – rotations to be applied to the cube to get its final position. Each rotation, if any, is defined by an angle in degrees and the number of the absolute axis (1, 2 or 3) around which the rotation is made. Each rotation is applied in turn to the cube starting from the canonical initial position where the cube is centered at the origin and its edges are parallel to the axes.
nboctants – number of octants to be filled nboctants may take a value in [1, 8]. For the big cube, the initial mesh may consist of 6 quadrangles instead of 24 when this big cube is the juxtatposition of 8 small cubes, which reduces the number of quadrangles of the final mesh by a factor 4. In order to activate this behaviour, nboctants must take the value -8.
nbsubdiv – subdivision level (0 by default) nbsubdiv = 0 corresponds to the initial mesh. For nbsubdiv > 0, each quadrangle is subdivided into 4 quadrangles with the same orientation as the original one: if the first quadrangle is (1,2,3,4), the vector 12x13 defines the exterior normal to the face.
order – order of the quadrangles in the final mesh (1 by default) The default value is 1, which leads to a Q1 mesh, in which case each quadrangle is defined by its 4 vertices. For higher orders, the supplemental vertices correspond to the regular Lagrange mesh.
edgeLength – edge length of the cube (1. by default)
Center – center of the cube ((0,0,0) by default)
minVertexNum – minimum number associated to the vertices of the mesh (1 by default)
minElementNum – minimum number associated to the elements of the mesh (1 by default)
-
SurfMeshQuaCube(const std::vector<std::pair<real_t, dimen_t>> &rots, const int nboctants, const number_t nbsubdiv = 0, const number_t order = 1, const real_t edgeLength = 1., const Point Center = Point(0, 0, 0), const number_t minVertexNum = 1, const number_t minElementNum = 1)#