aspose.threed.entities
All geometry and entities are defined in this namespace
Classes
| Class | Description |
|---|---|
BooleanOperand | This class encapsulates the transformed mesh as Boolean operation’s operand. |
BooleanOperator | Boolean operator allows you to apply Boolean operation on two IMeshConvertible instances. |
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. |
EndPoint | The end point to trim the curve, can be a parameter value or a Cartesian point. |
Frustum | The base class of Camera and Light |
Geometry | The base class of all renderable geometric objects (like Mesh, NurbsSurface, Patch and etc.). |
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 information like normals/uv coordinates/vertex colors to the geometry, see VertexElement for more details.Object deforming , Deformer can be bonded to animate geometry’s shape.* 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 information like normals/uv coordinates/vertex colors to the geometry, see VertexElement for more details.Object deforming , Deformer can be bonded to animate geometry’s shape.* 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 information like normals/uv coordinates/vertex colors to the geometry, see VertexElement for more details.Object deforming , Deformer can be bonded to animate geometry’s shape. | |
HalfSpace | HalfSpace represents a infinity space which is split by a plane, this can be used with BooleanOperator |
IIndexedVertexElement | VertexElement with indices data. |
IMeshConvertible | Entities that implemented this interface can be converted to Mesh |
IOrientable | Orientable entities shall implement this interface. |
Light | The light illuminates the scene. |
The formula to calculate the total attenuation of light is: | |
A = ConstantAttenuation + (Dist * LinearAttenuation) + ((Dist^2) * QuadraticAttenuation) | |
Line | A polyline is a path defined by a set of points with Geometry.control_points, and connected by Line.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 NurbsCurve.order, a set of weighted Geometry.control_points and a NurbsCurve.KnotVectors | |
The w component in control point is used as control point’s weight, whatever it is a CurveDimension.TWO_DIMENSIONAL or CurveDimension.THREE_DIMENSIONAL | |
NurbsDirection | A 3D NurbsSurface has two direction, the NurbsSurface.u and NurbsSurface.v, the NurbsDirection defines data for each direction. |
A direction is actually a NURBS curve, that means it’s also defined by its NurbsDirection.order, a NurbsDirection.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 NurbsDirectionNurbsSurface.u and NurbsSurface.v. | |
The w component in control point is used as control point’s weight whatever the direction’s type is a CurveDimension.TWO_DIMENSIONAL or CurveDimension.THREE_DIMENSIONAL | |
Patch | A Patch is a parametric modeling surface, similar to NurbsSurface, it’s also defined by two |
PatchDirection, the Patch.u and Patch.v. | |
But difference between Patch and NurbsSurface is that the PatchDirection curve | |
can be one of PatchDirectionType.BEZIER, PatchDirectionType.QUADRATIC_BEZIER, PatchDirectionType.BASIS_SPLINE, PatchDirectionType.CARDINAL_SPLINE and PatchDirectionType.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 Skeleton.type to SkeletonType.SKELETON, | |
and all children set to SkeletonType.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. | |
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. |
VertexElementUV | Defines the UV coordinates for specified components. |
A geometry can have multiple VertexElementUV elements, and each one have different TextureMappings. | |
VertexElementUserData | Defines custom user data for specified components. |
Usually it’s application-specific data for special purpose. | |
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. |
Enumerations
| 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. | |
BooleanOperation | Mesh’s Boolean operation |
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. |