|PathEngine home||previous: ||next: |
A helper method for generating a ground mesh representation of agent unobstructed space.
std::unique_ptr<iMesh> buildUnobstructedSpaceGround(const iMesh& mesh, const iShape& shape, const char *const* options)
|mesh||The ground mesh on which to perform a minkowski expansion.|
|shape||The agent shape to expand by.|
This method can be used to generate an obstructed space represention in
This can be used, for example, to take advantage of PathEngine's robust minkowski expansion to generate an expanded mesh for use with external code where a 'standard' 3D ground representation is expected.
Note that the term 'expansion' here refers to the fact that a 'minkowski expansion'
is being performed against the external edge geometry of the mesh,
but actually the resulting mesh will be smaller than the mesh passed in!
You can think of this also as a shrinking operation, with the key point being that various operations that would have required the agent shape to be taken into account can be performed against the shrunk mesh, with only the actual agent origin position then needing to be taken into account.
The expansion is exact within the limitation that 'intersection corners' in the result have to be approximated to the integer grid (e.g. at ground attribute boundaries). This approximation operation is then handled reobustly and guarantees that the resulting mesh remains valid within the standard PathEngine ground mesh validation constraints.
This method is not needed for, and should not be used with the built-in pathfinding and collision functionality (because this is based on an alternative, less heavyweight, representation of agent unobstructed space, generated internally by iMesh when the preprocess generation methods are called).
Mesh buildUnobstructedSpaceGround(Mesh mesh, Shape shape, string options);
|Documentation for PathEngine release 6.03 - Copyright © 2002-2021 PathEngine||next: |