Aspose.ThreeD.Entities Namespace
All geometry and entities are defined in this namespace
Public classBox
Public classCamera
The camera describes the eye point of the viewer looking at the scene.
Public classCylinder
Parameterized Cylinder. It can also be used to represent the cone when one of radiusTop/radiusBottom is zero.
Public classFrustum
The base class of Camera and Light
Public classGeometry
The base class of all renderable geometric objects (like Mesh, NurbsSurface, Patch and etcs).

The Geometry base class supports:

  • Control point management, control points defines the base 3D spatial structure of the geometry, different geometric types has different way to define concrete 3D models.
  • Vertex element definition, vertex elements applies extra informations like normals/uv coordinates/vertex colors to the geometry, see VertexElement for more details.
  • Object deforming, Deformer can be binded to animate geometry's shape.
Public classLight
The light illuminates the scene.

The formula to calculate the total attenuation of light is: A = ConstantAttenuation + (Dist * LinearAttenuation) + ((Dist^2) * QuadraticAttenuation)

Public classLine
A line is a path defined by a set of points with ControlPoints, and connected by Indices, 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.
Public classManualEntity
A bridge from Entity to custom renderable entity Use this class to simplify the construction of rendering tasks and resource management.
Public classCode exampleMesh
A mesh is made of many n-sided polygons.
Public classNurbsCurve
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
Public classNurbsDirection
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).
Public classNurbsSurface
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
Public classPatch
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
Public classPatchDirection
Patch's U and V direction.
Public classPlane
Parameterized plan.
Public classCode examplePolygonBuilder
A helper class to build polygon for Mesh
Public classPolygonModifier
Utilities to modify polygons
Public classPrimitive
Base class for all primitives
Public classShape
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.
Public classSkeleton
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
Public classSphere
Parameterized sphere.
Public classTorus
Parameterized torus.
Public classTriMesh
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.
Public classTriMeshT
Generic version of TriMesh for user's static-defined vertex type
Public classVertexElement
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.
Public classVertexElementBinormal
Defines the binormal vectors for specified components.
Public classVertexElementEdgeCrease
Defines the edge crease for specified components
Public classVertexElementMaterial
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.
Public classVertexElementNormal
Defines normal vectors for specified components.
Public classVertexElementPolygonGroup
Defines polygon group for specified components to group related polygons together.
Public classVertexElementSmoothingGroup
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.
Public classVertexElementSpecular
Defines specular color for specified components.
Public classVertexElementTangent
Defines tangent vectors for specified components.
Public classVertexElementTemplateT
A helper class for defining concrete VertexElement implementations.
Public classVertexElementUserData
Defines custom user data for specified components. Usually it's application-specific data for special purpose.
Public classVertexElementUV
Defines the UV coordinates for specified components. A geometry can have multiple VertexElementUV elements, and each one have different TextureMappings.
Public classVertexElementVertexColor
Defines the vertex color for specified components
Public classVertexElementVertexCrease
Defines the vertex crease for specified components
Public classVertexElementVisibility
Defines if specified components is visible
Public classVertexElementWeight
Defines blend weight for specified components.
Public interfaceIIndicedVertexElement
VertexElement with indice data.
Public interfaceIMeshConvertible
Entities that implemented this interface can be converted to Mesh
Public interfaceIOrientable
Orientable entities shall implement this interface.
Public enumerationApertureMode
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.
Public enumerationCurveDimension
The dimension of the curves.
Public enumerationLightType
Light types.
Public enumerationMappingMode
Determines how the element is mapped to a surface. The MappingMode defined how VertexElement is mapped to the surface of geometry.
Public enumerationNurbsType
NURBS types.
Public enumerationPatchDirectionType
Patch direction's types.
Public enumerationProjectionType
Camera's projection types.
Public enumerationReferenceMode
ReferenceMode defines how mapping information is stored and referenced by.
Public enumerationRotationMode
The frustum's rotation mode
Public enumerationSkeletonType
Skeleton's types.
Public enumerationSplitMeshPolicy
Share vertex/control point data between sub-meshes or each sub-mesh has its own compacted data.
Public enumerationTextureMapping
The texture mapping type for VertexElementUV Describes which kind of texture mapping is used.
Public enumerationVertexElementType
The type of the vertex element, defined how it will be used in modeling.