![]() |
MapLink Pro 11.1.1.0.
Envitia MapLink Pro: The Ultimate Mapping Application Toolkit
|
This Class Category contains the API classes for the underlying 3D Geometry Model of MapLink products.
Classes | |
class | TSL3DAPP6ASymbol |
class | TSL3DBoundingBox |
class | TSL3DClientUserGeometryEntity |
class | TSL3DCoord |
class | TSL3DCoordSet |
class | TSL3DEllipse |
class | TSL3DEntity |
class | TSL3DEntitySet |
class | TSL3DHelper |
class | TSL3DModel |
class | TSL3DPolygon |
class | TSL3DPolyline |
class | TSL3DQuad |
class | TSL3DQuadStrip |
class | TSL3DSensor |
class | TSL3DSymbol |
class | TSL3DText |
class | TSL3DTriangle |
class | TSL3DTriangleFan |
class | TSL3DTriangleStrip |
class | TSL3DUserGeometryEntity |
class | TSLExtruded2DPolygon |
class | TSLExtruded2DPolyline |
class | TSLExtruded2DRectangle |
Typedefs | |
typedef TSL3DClientUserGeometryEntity *(* | TSL3DUserGeometryLoadCallback) (TSLifstream &stream, int userGeometryID, bool &assumeOwnership) |
enum | TSL3DDepthTest { TSL3DDepthTestStandard = 0 , TSL3DDepthTestDelayedWithHorizonCheck = 1 , TSL3DDepthTestDelayedWithoutHorizonCheck = 2 , TSL3DDepthTestUndefined = 3 , TSL3DDepthTestStandardAndDelayedWithHorizonCheck = 4 , TSL3DDepthTestStandardAndDelayedWithoutHorizonCheck = 5 , TSL3DDepthTestDelayed = 1 , TSL3DDepthTestNone = 2 } |
typedef TSL3DClientUserGeometryEntity *(* TSL3DUserGeometryLoadCallback) (TSLifstream &stream, int userGeometryID, bool &assumeOwnership) |
This function typedef defines the signature for a callback routine that is required to be called to load a user defined 3D Geometry Entity.
Implementation: TSL3DClientUserGeometryEntity* loadUserGeometryCallback( TSLifstream& stream, int userGeometryID, bool& assumeOwnership );
All registered callbacks will be called, in order, until the one that returns a client for the userGeometryID is found. Implementations must therefore expect a mismatch between the userGeometryID.
stream | The input file stream that has had the data copied into. |
userGeometryID | A value that uniquely identifies the 3D User Geometry object. |
assumeOwnership | The user should set this value based upon whether the returned callback should become owned by the MapLink. True indicates ownership is transferred, whilst false implies that the returned object remains owned by the user. This is important if the code calling MapLink was not built using the same compiler version, for instance when using differing versions of Microsoft Visual Studio. |
Return | Value |
enum TSL3DDepthTest |
Enumerated type used to indicate how depth testing is to be applied to TSL3DText, TSL3DSymbol and TSL3DAPP6ASymbol.
The enum settings are:
TSL3DDepthTestStandard : for standard depth testing based on OpenGL
TSL3DDepthTestUndefined : This is the same as TSL3DDepthTestDelayedWith HorizonCheck and allows the user to identify that depth testing has not been set.
TSL3DDepthTestDelayedWithHorizonCheck : for delayed rendering with horizon check - World Wind style.
TSL3DDepthTestDelayedWithoutHorizonCheck : for delayed rendering with no horizon check.
TSL3DDepthTestStandardAndDelayedWithHorizonCheck : For items which are custom drawn and require parts to be drawn with depth testing and parts drawn with just horizon check. Two calls will be made to the custom draw method, once for the TSL3DDepthTestStandard depth test and once for the TSL3DDepthTestDelayedWithHorizonCheck .
TSL3DDepthTestStandardAndDelayedWithoutHorizonCheck : For items which are custom drawn and require parts to be drawn with depth testing and parts drawn with no depth testing or horizon check. Two calls will be made to the custom draw method, once for the TSL3DDepthTestStandard depth test and once for the TSL3DDepthTestDelayedWithoutHorizonCheck .
When we draw the delayed items they are drawn in sorted depth order.
Graphics Depth testing is disabled for APP6A, Symbols, Text and Satellites, when drawn delayed. This is because these items are drawn as billboards or partly drawn as billboard.
All other delayed items with no Horizon check are drawn with Graphics Depth testing disabled. If Horizon check is required then Graphics Depth testing is enabled.
If delayed items are at the same depth then the order they are drawn in is the order they were originally processed.
TSL3DDepthTestStandardAndDelayedWithHorizonCheck and TSL3DDepthTestStandard AndDelayedWithoutHorizonCheck currently only make sense for custom drawn objects. The standard 3D geometry will be drawn twice if these depth test values are set on them.
See Also: TSLRenderingAttributeInt