All geometry and entities are defined in this namespace


Class Description
Box Box.
Camera The camera describes the eye point of the viewer looking at the scene.
Circle A Circle curve consists of a set of points in the edge of the circle shape.
CompositeCurve A CompositeCurve is consisting of several curve segments.
Curve The base class of all curve implementations.
Cylinder Parameterized Cylinder. It can also be used to represent the cone when one of radiusTop/radiusBottom is zero.
Dish Parameterized dish.
Ellipse An Ellipse defines a set of points that form the shape of ellipse.
Frustum The base class of Camera and Light
Geometry The base class of all renderable geometric objects (like Mesh, NurbsSurface, Patch and etc.).
Light The light illuminates the scene.
Line A polyline is a path defined by a set of points with ControlPoints, and connected by Segments, which means it can also be a set of connected line segments. The line is usually a linear object, which means it cannot be used to represent a curve, in order to represent a curve, uses NurbsCurve.
LinearExtrusion Linear extrusion takes a 2D shape as input and extends the shape in the 3rd dimension.
Mesh A mesh is made of many n-sided polygons.
NurbsCurve NURBS curve is a curve represented by NURBS(Non-uniform rational basis spline), A NURBS curve is defined by its Order, a set of weighted ControlPoints and a KnotVectors The w component in control point is used as control point’s weight, whatever it is a TwoDimensional or ThreeDimensional
NurbsDirection A 3D NurbsSurface has two direction, the U and V, the NurbsDirection defines data for each direction. A direction is actually a NURBS curve, that means it’s also defined by its Order, a KnotVectors, and a set of weighted control points(defined in NurbsSurface).
NurbsSurface NurbsSurface is a surface represented by NURBS(Non-uniform rational basis spline), A NurbsSurface is defined by two NurbsDirectionU and V. The w component in control point is used as control point’s weight whatever the direction’s type is a TwoDimensional or ThreeDimensional
Patch A Patch is a parametric modeling surface, similar to NurbsSurface, it’s also defined by two PatchDirection, the U and V. But difference between Patch and NurbsSurface is that the PatchDirection curve can be one of Bezier, QuadraticBezier, BasisSpline, CardinalSpline and Linear
PatchDirection Patch’s U and V direction.
Plane Parameterized plane.
PointCloud The point cloud contains no topology information but only the control points and the vertex elements.
PolygonBuilder A helper class to build polygon for Mesh
PolygonModifier Utilities to modify polygons
Primitive Base class for all primitives
Pyramid Parameterized pyramid.
RectangularTorus Parameterized rectangular torus.
RevolvedAreaSolid This class represents a solid model by revolving a cross section provided by a profile about an axis.
Shape The shape describes the deformation on a set of control points, which is similar to the cluster deformer in Maya. For example, we can add a shape to a created geometry. And the shape and the geometry have the same topological information but different position of the control points. With varying amounts of influence, the geometry performs a deformation effect.
Skeleton The Skeleton is mainly used by CAD software to help designer to manipulate the transformation of skeletal structure, it’s usually useless outside the CAD softwares. To make the skeleton hierarchy acts like one object in CAD software, it’s necessary to mark the top Skeleton node as the root one by setting Type to Skeleton, and all children set to Bone
Sphere Parameterized sphere.
SweptAreaSolid A SweptAreaSolid constructs a geometry by sweeping a profile along a directrix.
Torus Parameterized torus.
TransformedCurve A TransformedCurve gives a curve a placement by using a transformation matrix. This allows to perform a transformation inside a TrimmedCurve or CompositeCurve.
TriMesh A TriMesh contains raw data that can be used by GPU directly. This class is a utility to help to construct a mesh that only contains per-vertex data.
TriMesh<T> Generic version of TriMesh for user’s static-defined vertex type
TrimmedCurve A bounded curve that trimmed the basis curve at both ends.
VertexElement Base class of vertex elements. A vertex element type is identified by VertexElementType. A VertexElement describes how the vertex element is mapped to a geometry surface and how the mapping information is arranged in memory. A VertexElement contains Normals, UVs or other kind of information.
VertexElementBinormal Defines the binormal vectors for specified components.
VertexElementDoublesTemplate A helper class for defining concrete VertexElement implementations.
VertexElementEdgeCrease Defines the edge crease for specified components
VertexElementHole Defines if specified polygon is hole
VertexElementIntsTemplate A helper class for defining concrete VertexElement implementations.
VertexElementMaterial Defines material index for specified components. A node can have multiple materials, the VertexElementMaterial is used to render different part of the geometry in different materials.
VertexElementNormal Defines normal vectors for specified components.
VertexElementPolygonGroup Defines polygon group for specified components to group related polygons together.
VertexElementSmoothingGroup A smoothing group is a group of polygons in a polygon mesh which should appear to form a smooth surface. Some early 3d modeling software like 3D studio max for DOS used smoothing group to void storing normal vector for each mesh vertex.
VertexElementSpecular Defines specular color for specified components.
VertexElementTangent Defines tangent vectors for specified components.
VertexElementTemplate<T> A helper class for defining concrete VertexElement implementations.
VertexElementUserData Defines custom user data for specified components. Usually it’s application-specific data for special purpose.
VertexElementUV Defines the UV coordinates for specified components. A geometry can have multiple VertexElementUV elements, and each one have different TextureMappings.
VertexElementVector4 A helper class for defining concrete VertexElement implementations.
VertexElementVertexColor Defines the vertex color for specified components
VertexElementVertexCrease Defines the vertex crease for specified components
VertexElementVisibility Defines if specified components is visible
VertexElementWeight Defines blend weight for specified components.


Interface Description
IIndexedVertexElement VertexElement with indices data.
IMeshConvertible Entities that implemented this interface can be converted to Mesh
IOrientable Orientable entities shall implement this interface.


Enumeration Description
ApertureMode Camera aperture modes. The aperture mode determines which values drive the camera aperture. If the aperture mode is HorizAndVert, Horizontal, or Vertical, then the field of view is used. If the aperture mode is FocalLength, then the focal length is used.
CurveDimension The dimension of the curves.
LightType Light types.
MappingMode Determines how the element is mapped to a surface. The MappingMode defined how VertexElement is mapped to the surface of geometry.
NurbsType NURBS types.
PatchDirectionType Patch direction’s types.
ProjectionType Camera’s projection types.
ReferenceMode ReferenceMode defines how mapping information is stored and referenced by.
RotationMode The frustum’s rotation mode
SkeletonType Skeleton’s types.
SplitMeshPolicy Share vertex/control point data between sub-meshes or each sub-mesh has its own compacted data.
TextureMapping The texture mapping type for VertexElementUV Describes which kind of texture mapping is used.
VertexElementType The type of the vertex element, defined how it will be used in modeling.