PathEngine home previous: Interface iContentProcessing3Dnext: iContentProcessing3D::buildGround()
Contents, API Reference, Interfaces, iContentProcessing3D, buildAndSaveGround

iContentProcessing3D::buildAndSaveGround()

Description

Runs the 3D content processing functionality on a specified set of 3D source data and saves out the resulting ground mesh.

Syntax

void
buildAndSaveGround(
        const iFaceVertexMesh *const * meshObjectPointers,
        tSigned32 numberOfMeshObjects,
        const iSolidObjects* solidObjects,
        tSigned32 extrudeHeight,
        tSigned32 maxStepHeight,
        tSigned32 maxSlope,
        const char *const* options,
        iProgressCallBack* progressCallBack,
        const char* format, bool includeMapping, iOutputStream* outputStream
        ) const;
        

Parameters

meshObjectPointers Points to an array of pointers to objects derived from iFaceVertexMesh and specifying mesh components of the 3D geometry to be processed. The objects pointed to will not be deleted by PathEngine and pointers to these objects are not held after this method completes.
numberOfMeshObjects The size of the array pointed to by geometryObjectPointers.
solidObjects Pointer to an object derived from the iSolidObjects interface class, to encapsulate a set of convex solid objects in the form of a series of 'point clouds'.
The 3D content processing will generate a convex hull for each of these point clouds, and treat the contained volume as an obstructed solid.
Refer to Input Representation for more information about this solid objects representation.
A null pointer may be passed into this argument, in the case where there are no solid objects in the source data.
extrudeHeight This should be set to the maximum height of the agents for which pathfinding ground mesh is to be generated.
Must be greater than zero, and less than or equal to 8191.
maxStepHeight Specifies the maximum height for which the 3D content processing should connect across vertical discontinuities in the resulting ground.
For exactly vertical faces this is applied in a precise geometric manner, with the sides of ramped features being split at the specified step height, and a connection made to the lower part of the ramp.
This value is also applied during the removal of steep faces, but using a more heuristic approach.
maxSlope The maximum slope for walkable ground, represented as a slope percentage.
Must be >= -1.
A value of -1 turns off steep face removal. Otherwise ground rising more than maxSlope units for every 100 units travelled horizontally will be stripped out of the resulting ground.
Use the "maxSlopeOnTerrain" 3D content processing option if you need to specify a different maximum slope value for terrain parts of your world.
options A set of named attributes to control additional options for how the geometry is processed, and which are also passed on to PathEngine's ground mesh creation.
Refer to 3D Content Processing Options for information about options relating specifically to the 3D content process.
Refer to Mesh Loading Options for information about options relating to ground mesh creation in general.
progressCallBack A pointer to an object derived from the iProgressCallBack interface, or zero.
If a callback is specified then this will receive progress updates as the 3D content processing executes.
format A C string specifying the format in which data should be output. Currently this can be "xml" or "tok" (lower case).
This format string is not retained after the call and can subsequently be safely deleted.
includeMapping Specifies whether the mapping to 2d should be recorded with the mesh.
Storing this mapping with the mesh ensures that cPositions stored for this mesh will remain valid if the PathEngine generates this mapping changes with a new release.
outputStream The mesh will be saved to this output stream.

Remarks

iContentProcessing3D::saveSnapshot() can be used to save a snapshot of the data and options being passed in to this method (which can then be used e.g. as a repeat case for any issues with the 3D process, or for import into a 3rd party content application for detailed visualisation).

If errors occur during the 3D content processing then these will be reported to the current error handler, and no ground mesh saved out.

Refer to 3D Content Processing for a general explanation of the 3D content processing functionality.


Documentation for PathEngine release 5.18 - Copyright © 2002-2008 PathEnginenext: iContentProcessing3D::buildGround()