PathEngine home previous: iContentProcessing3D::buildAndSaveGround()next: iContentProcessing3D::buildHullMeshesForVisualisation()
Contents, API Reference, Interfaces, iContentProcessing3D, buildGround

iContentProcessing3D::buildGround()

Description

Runs the 3D content processing functionality on a specified set of 3D source data and builds a ground mesh directly, (with no save and load from ground mesh persistence).

Syntax

iMesh* buildGround(const iFaceVertexMesh* const * meshes_Buffer, uint32_t meshes_BufferEntries, const iSolidObjects* solidObjects, int32_t extrudeHeight, int32_t maxStepHeight, int32_t maxSlope, const char *const* options, iProgressCallBack* progressCallBack) const;

Parameters

meshes_Buffer, meshes_BufferEntries An array of pointers to objects derived from iFaceVertexMesh and specifying the face vertex mesh part of the 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.
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 See 3D Content Processing Parameters.
maxStepHeight See 3D Content Processing Parameters.
maxSlope See 3D Content Processing Parameters.
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.

Return Value

If an errors occur during the 3D content processing then these will be reported to the current error handler, and nullptr returned.
If the ground result from the 3D processing operation would be empty (e.g. if no ground surfaces are present in the source data), nullptr is returned.
Otherwise, an iMesh instance for the generated ground result is returned.

Remarks

Do not load both the pathengine and 3D content processing dlls when using direct ground generation.
Instead, use DLLExport_CP3D_GetInterfaces to obtain both the iPathEngine and iContentProcessing3D interfaces from a single 3D content processing dll.
(Using the iMesh instance returned by this method together with interfaces created against a separate pathengine dll is not valid and has undefined results.)

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).

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

See Also

iContentProcessing3D::buildAndSaveGround()

C# Mapping

Mesh buildGround(FaceVertexMesh[] meshes, SolidObjects solidObjects, int extrudeHeight, int maxStepHeight, int maxSlope, string[] options, ProgressCallBack progressCallBack);

Java Mapping

Mesh buildGround(FaceVertexMesh[] meshes, SolidObjects solidObjects, int extrudeHeight, int maxStepHeight, int maxSlope, String[] options, ProgressCallBack progressCallBack);

Documentation for PathEngine release 6.00 - Copyright © 2002-2016 PathEnginenext: iContentProcessing3D::buildHullMeshesForVisualisation()