Class SurfaceFactory

Class Documentation

class SurfaceFactory

Factory class to generate different types of basic shapes.

Public Static Functions

static SurfaceMesh tetrahedron()

Generate tetrahedron.

static SurfaceMesh hexahedron()

Generate hexahedron.

static SurfaceMesh octahedron()

Generate octahedron.

static SurfaceMesh dodecahedron()

Generate dodecahedron.

static SurfaceMesh icosahedron()

Generate icosahedron.

static SurfaceMesh icosphere(size_t n_subdivisions = 3)

Generate icosphere refined by n_subdivisions .

Uses Loop subdivision to refine the initial icosahedron.

static SurfaceMesh quad_sphere(size_t n_subdivisions = 3)

Generate quad sphere refined by n_subdivisions .

Uses Catmull-Clark subdivision to refine the initial hexahedron.

static SurfaceMesh uv_sphere(const Point &center = Point(0, 0, 0), Scalar radius = 1.0, size_t n_slices = 15, size_t n_stacks = 15)

Generate UV sphere with given center, radius, n_slices, and n_stacks.

static SurfaceMesh plane(size_t resolution = 4)

Generate a plane mesh.

Generates a pure quad mesh in the x-y plane with origin (0,0,0) and side length 1.

Parameters:

resolution – Number of faces in each direction. Needs to be >= 1. Default: 4.

static SurfaceMesh cone(size_t n_subdivisions = 30, Scalar radius = 1.0, Scalar height = 2.5)

Generate a cone mesh.

Generates a polygonal mesh of a cone. The circular base lies in the x-y-plane and the tip points in positive z-direction.

Parameters:
  • n_subdivisions – Number of subdivisions of the base circle. Needs to be >= 3. Default: 30.

  • radius – Radius of the base circle. Default: 1.

  • height – Height of the the cone. Default: 2.5.

static SurfaceMesh cylinder(size_t n_subdivisions = 30, Scalar radius = 1.0, Scalar height = 2.5)

Generate a cylinder mesh.

Generates a polygonal mesh of a cylinder. The cylinder is oriented in z-direction.

Parameters:
  • n_subdivisions – Number of subdivisions of the cylinder. Needs to be >= 3. Default: 30.

  • radius – Radius of the cylinder. Default: 1.

  • height – Height of the cylinder. Default: 2.5.

static SurfaceMesh torus(size_t radial_resolution = 20, size_t tubular_resolution = 40, Scalar radius = 1.0, Scalar thickness = 0.4)

Generate a torus mesh.

Generates a quad mesh of a torus with its major circle in the x-y plane.

Parameters:
  • radial_resolution – Number of subdivisions of the major circle. Needs to be >= 3. Default: 20.

  • tubular_resolution – Number of subdivisions of along the tube. Needs to be >= 3. Default: 40.

  • radius – Radius of the major circle. Default: 1.

  • thickness – Thickness of the tube. Default: 0.4.