VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtHeightMapDrawable.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvOsg/vrvOsg.h>
13 
15 
16 #include <osg/Drawable>
17 
18 namespace makVrv
19 {
20  class DtHeightMapManager;
21  class DtHeightMapSuperManager;
22 
25 
28 
30  template <>
31  inline const char* creatorTypeName<DtHeightMapDrawable>(void) { return "DtHeightMapDrawableCreator"; }
32 
35  class DT_DLL_VRVOSG DtHeightMapDrawable : public osg::Drawable
36  {
37  public:
40 
42  virtual ~DtHeightMapDrawable();
43 
44  protected:
47 
48  private:
50  DtHeightMapDrawable() = delete;
51 
53  DtHeightMapDrawable(const DtHeightMapDrawable &other) = delete;
54 
56  DtHeightMapDrawable &operator=(const DtHeightMapDrawable &other) = delete;
57 
58  public:
59 
61  virtual bool isSameKindAs(const Object* obj) const;
62 
64  virtual Object* cloneType() const;
65 
67  virtual Object* clone(const osg::CopyOp& copyop) const;
68 
70  virtual void drawImplementation(osg::RenderInfo& renderInfo) const;
71 
73  virtual void releaseGLObjects(osg::State* state = 0) const;
74 
76  virtual DtHeightMapManager *getOrCreateHeightMapManager(osg::RenderInfo& renderInfo);
77 
78  protected:
79 
81  virtual void cleanup(void);
82 
84  virtual void flushInvalidCameras();
85 
86  protected:
87 
89 
91 
92  typedef std::map< osg::GraphicsContext*, void* > ContextToHandleMap;
93  };
94 }
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
Variadic templated creator class for defining a DtVirtualBaseClass creator that is automatically regi...
Definition: DtVirtualBaseClassCreator.h:22
std::map< osg::GraphicsContext *, void * > ContextToHandleMap
Definition: DtHeightMapDrawable.h:92
DtHeightMapSuperManager * myHeightMapSuperManager
Definition: DtHeightMapDrawable.h:90
makVrv::DtDe & myDe
Definition: DtHeightMapDrawable.h:88
const char * creatorTypeName< DtHeightMapDrawable >(void)
template specialization for the creator (pass the class being created to the creatorTypeName template...
Definition: DtHeightMapDrawable.h:31
A class to manage automatic periodic updating of a height map generated from the database dynamically...
Definition: DtHeightMapManager.h:94
Contains DLL export macros.
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
DtVirtualBaseClassCreator< DtHeightMapDrawable, DtHeightMapSuperManager * > DtHeightMapDrawableCreator
creator
Definition: DtHeightMapDrawable.h:24
An OSG Drawable representing a terrain heightmap.
Definition: DtHeightMapDrawable.h:35
friend DtHeightMapDrawableCreator
only creator can create
Definition: DtHeightMapDrawable.h:39
A class to manage multiple DtHeightMapManager(s) (one per camera)
Definition: DtHeightMapSuperManager.h:38

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)