gwnavruntime/visualsystem/ivisualgeometry.h Source File

ivisualgeometry.h
Go to the documentation of this file.
1 /*
2 * Copyright 2015 Autodesk, Inc. All rights reserved.
3 * Use of this software is subject to the terms of the Autodesk license agreement and any attachments or Appendices thereto provided at the time of installation or download,
4 * or which otherwise accompanies this software in either electronic or hard copy form, or which is signed by you and accepted by Autodesk.
5 */
6 
7 
8 
9 
10 // primary contact: GUAL - secondary contact: MAMU
11 #ifndef Navigation_IVisualGeometry_H
12 #define Navigation_IVisualGeometry_H
13 
18 
19 
20 namespace Kaim
21 {
22 
23 class VisualTriangle;
24 class VisualLine;
25 class VisualText;
26 
33 class IVisualGeometry : public RefCountBase<IVisualGeometry, MemStat_VisualSystem>
34 {
35 public:
36  IVisualGeometry() {}
37  virtual ~IVisualGeometry() {}
38 
43  virtual void DoBegin(const VisualGeometrySetupConfig& setupConfig) = 0;
44 
45  virtual void DoPushTriangle(const VisualTriangle& triangle) = 0;
46  virtual void DoPushLine(const VisualLine& visualLine) = 0;
47  virtual void DoPushText(const VisualText& visualText) = 0;
48 
51  virtual void DoEnd() = 0;
52 
53 public:
54  //m_coordSystem is used to convert Navigation positions into the the visualGeometry coordinate system.
55  //So do not forget to set it if you are not in classic Z-up, 1m, ...
56  CoordSystem m_coordSystem;
58 };
59 
60 
69 class IVisualGeometryFactory : public RefCountBase<IVisualGeometry, MemStat_VisualSystem>
70 {
71 public:
72  virtual ~IVisualGeometryFactory() {}
73  virtual Kaim::Ptr<IVisualGeometry> CreateIVisualGeometryForDatabase(KyUInt32 databaseIdx) = 0;
74  virtual void OnDatabaseClear(KyUInt32 databaseIdx) = 0;
75 };
76 
77 }
78 
79 #endif
The VisualGeometrySetupConfig class is used to configure an object that derives from IVisualGeometry...
Definition: visualgeometrysetupconfig.h:21
Represents a single triangle that can be rendered by a class that derives from IVisualGeometry.
Definition: visualprimitives.h:21
This class maintains the mapping between the system of coordinate axes used internally within the gam...
Definition: coordsystem.h:144
IVisualGeometryFactory is an abstract base class for an object that accepts that can instantiate obje...
Definition: ivisualgeometry.h:73
virtual void DoBegin(const VisualGeometrySetupConfig &setupConfig)=0
This method is called by the IVisualGeometryBuilder when it begins the process of passing triangles/l...
Definition: gamekitcrowddispersion.h:20
bool m_coordSystemIsRightHanded
Indicates whether or not the CoordSystem is RightHanded. Updated automatically by the IVisualGeometry...
Definition: ivisualgeometry.h:60
virtual void DoEnd()=0
This method is called by the IVisualGeometryBuilder when the passing of triangles/lines/texts has fin...
unsigned int KyUInt32
Type used internally to represent an unsigned 32-bit integer.
Definition: types.h:36
TODO Update IVisualGeometry is an abstract base class for an object that accepts triangles, lines and texts from a class that that derives from IVisualGeometryBuilder, and has be initially designed to manage the rendering of those triangles/lines/texts in the game engine.
Definition: ivisualgeometry.h:34