|PathEngine home||previous: ||next: |
Two kinds of input data can be passed into the 3D content processing: polygon soup data (in the form of tri meshes), and convex solids (in the form of 'point clouds').
The input data is provided to PathEngine through application-side objects derived
from a couple of interface classes defined in the PathEngine api header.
The actual concrete implementation of these application-side objects can then vary according to the actual content building environment.
Polygon soup is passed into the 3D processing by instantiating objects derived from iFaceVertexMesh.
(This is the same interface class that is used for passing source geometry into the 2D content processing.)
In contrast to the geometry passed in to the 2D content processing, this
polygon soup data has no validation constraints (except for range constraints - see below).
Zero area or downward facing tris are permitted.
Convex solids are passed into the 3D content processing as a sequence of point clouds.
The 3D content processing will generate a convex hull for each of these point cloud, and treat the resulting convex volume as a fully obstructed solid.
Note that this input representation avoids the need for any validation constraints on the solid object geometry
(except for range constraints - see below),
since PathEngine takes care of generating correct volumes for each point cloud.
(Where necessary, points with unit offsets will be added to ensure that each solid has non-zero volume.)
The point clouds are passed into the 3D processing by instantiating objects derived from iSolidObjects.
You can find basic example implementations of each class in the API reference for the class. (iFaceVertexMesh, iSolidObjects).
Run-time (i.e. not 2D process specific) face attributes can be assigned to both mesh and solid 3D source data, and will be passed through into the ground result.
Other attributes relate specifically to the 3D process, and can be used to affect the way specific geometry components are treated, for example to mark obstacles as non-walkable, by excluding them from the ground result.
Refer to this page for details about the full set of PathEngine face attributes.
Coordinates for all points in the input data
must lie within PathEngine's supported world coordinate range.
In the case of objects, or faces, with points outside the supported range, PathEngine will emit a non fatal error, and the relevant objects or faces will be skipped.
The render to voxel stage of the voxel processing method uses 32 bits for Z values, which then adds an additional range constraint.
When using this processing method the maximum effective vertical range, after extrusion, cannot exceed 65534, i.e. for all vertices in the source data, maximumZ - (minimumZ - extrudeHeight) must be less than 65534.
|Documentation for PathEngine release 6.03 - Copyright © 2002-2021 PathEngine||next: |