|PathEngine home||previous: ||next: |
Generates an iMesh object for the specified tile in this federation, from local 2D content processing source data.
std::unique_ptr<iMesh> buildTileMeshFromContent(int32_t tileIndex, const iContentChunkInstance* const * chunks_Buffer, uint32_t chunks_BufferEntries, const char *const* options, iOutputStream& os) const
|tileIndex||The index of the federation tile for which a mesh is being built.|
A set of named attributes to control how the geometry is processed.
Note that some mesh loading options may also be passed into this method, to affect the final ground mesh construction phase.
In addition to the above, a 'terrainHeight' value may also be specified to control the base height of the terrain stand-in geometry generated for the resulting tile mesh.
The 'filterFacesWithSlopeAbove' and 'optimiseWithThreshold' content processing options are currently ignored by this method. (If these are specified then a warning will be emitted.)
If non-zero then a 'content snapshot' will be saved out to this output stream, (in tokenised format),
just before performing the actual 2D content process.|
This content snapshot can be useful for troubleshooting the 2D content process, or for reporting bugs or issues with this process.
The content chunk instance vector passed into this method should include all content chunk instances
that are partially or fully overlapped by the represented region of this tile.
(This represented region can be obtained by calling
To avoid ID conflicts across content chunk instances, anchor and named obstacle IDs are prefixed by the section ID of the containing content chunk instance, and then the separator character ':' (e.g. the prefix string "25:" in the case of a content chunk instance with section ID 25).
Note that the geometry passed in is in 'federation world coordinates', with the resulting mesh geometry being generated in local coordinates for the tile being generated.
The process applied to the source geometry in this method is similar to the process applied to the source geometry for
It's important to correctly handle errors emitted by this method.
The 2D content processing will attempt to continue after most error cases in order to generate a useable mesh, but whilst the resulting tile mesh may be valid as an independant mesh some error situations will result in failure to translate between a mesh and neighbouring tiles.
Some examples are: if a portal fails to go down due to overlapping another portal, if an external shapes is not cut due to portals being cut by other external shapes, or if 'terrain external shapes' cross out of the terrain.
Mesh buildTileMeshFromContent(int tileIndex, ContentChunkInstance chunks, string options, OutputStream os);
Mesh buildTileMeshFromContent(int tileIndex, ContentChunkInstance chunks, String options, OutputStream os);
|Documentation for PathEngine release 6.03 - Copyright © 2002-2021 PathEngine||next: |