VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtOverlayGeometryManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2024 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
10 
11 #pragma once
12 
13 #include <vrvCore/vrvCore.h>
15 
16 #include <unordered_map>
17 #include <boost/bind/bind.hpp>
18 
19 namespace makVrv
20 {
21  class DtDe;
22  class DtCoordinateSystem;
23  class DtSegmentedLineInterface;
24  class DtTextProxyInterface;
25  struct DtLinearModelData;
26 
28  {
29  public:
31  using LinearCreateFunction = std::function<bool( const DtLinearModelData& )>;
32 
34  using LinearCreateGeometries = std::unordered_map<std::string, LinearCreateFunction>;
35 
36  public:
39 
41  virtual ~DtOverlayGeometryManager();
42 
44  DtOverlayGeometryManager() = delete;
45 
48 
50  DtOverlayGeometryManager& operator=( const DtOverlayGeometryManager& ) = delete;
51 
54 
56  DtOverlayGeometryManager& operator=( const DtOverlayGeometryManager&& ) = delete;
57 
58  public:
59 
62  static DtOverlayGeometryManager& instance( DtDe& de );
63 
65  static void registerInstance( DtDe& de, DtOverlayGeometryManager* anInstance );
66 
67  public:
69  virtual void addLinearCreate( const std::string&, LinearCreateFunction );
70 
76  virtual bool createLinearVertexAndLabelData( const DtLinearModelData& modelData );
77 
78  protected:
80 
82  };
83 }
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
LinearCreateGeometries myLinearGeometries
Definition: DtOverlayGeometryManager.h:81
std::unordered_map< std::string, LinearCreateFunction > LinearCreateGeometries
Typedefed map of model name to geometry create function.
Definition: DtOverlayGeometryManager.h:34
Contains makVrv::DtVirtualBaseClass class.
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
Definition: DtOverlayGeometryManager.h:27
std::function< bool(const DtLinearModelData &)> LinearCreateFunction
Typedef linear model create funcion.
Definition: DtOverlayGeometryManager.h:31
DtDe & myDe
Definition: DtOverlayGeometryManager.h:79
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:76
Struct for storing and moving around data to generate vertices, e.g. see DtOverlayGeometryBlock.h.
Definition: DtOverlayLinearModel.h:23
Contains DLL export macros.

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)