VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtOsgOverlayRectangleModel.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2023 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvOsg/vrvOsg.h>
14 #include <vrvCore/DtUniqueID.h>
16 
17 #include <osg/Vec3>
18 
19 #include <matrix/vlDcm.h>
20 
21 namespace makVrv
22 {
23  class DtDe;
24  class DtCoordinateSystem;
25 
29  {
30  public:
33 
35  virtual ~DtOsgOverlayRectangleModel();
36 
37  //@name Distributed Interface
39 
41  virtual void setColor(float r,float g,float b,float a);
42 
44  virtual void setPosition( int vtx, const DtVector& position );
45 
47  virtual void setPoint(int vtx, const DtVector& position);
48 
50  virtual void set2dOffset(int index, float x, float y);
51 
53  virtual void setOrientation( const DtTaitBryan& orientation );
54  virtual void setOrientation( int vtx, const DtTaitBryan& orientation );
55 
58  virtual void set3dDirection2dLength(int index, float x, float y, float z,
59  float len);
60 
62  virtual void setTexturePath(const std::string& texturePath);
63 
65  virtual void setNumTextureTiles(double numTiles);
66 
68  virtual void setSolid(bool solid);
69 
73  virtual void setIsSupportModel(bool isSupport);
74 
77  virtual void setGroup( int );
78 
80  virtual void setPickable(bool enabled);
81 
83  virtual void setStipplePattern(unsigned int stipplePattern);
84 
86  virtual void setWidth(float width);
87 
89  virtual void setEventWidth(float width);
90 
92  virtual void setEventsEnabled(bool);
93 
95  virtual void setDimensions(double width, double length, double altitudeOffset);
96 
98  virtual void resetSpatial();
99 
102  virtual void setOrigin(const DtVector&);
103 
105  virtual int pointCount() const;
106 
108  virtual DtVector point(int) const;
109 
111  virtual const std::vector<DtVector>& points() const;
112 
114 
115  //@name Local Interface
117 
119  virtual void addToScene( const DtUniqueID& sceneObjectId, DtModelSetId modelSet,
120  int visualizerType );
121 
123  virtual void removeFromScene();
124 
126  virtual void setModelDefinition( const std::string& str );
128 
130  virtual DtVector rotateToDatabase(const DtVector& pos, const DtVector& origin);
131 
133  virtual void setInsideColor( float r, float g, float b, float a );
134 
136  virtual void setOutsideColor( float r, float g, float b, float a );
137 
139  virtual void setSolidFillCenter(bool);
140 
142  virtual void setFillPattern(const std::vector<unsigned int>&);
143 
146  virtual void setOutline(bool);
147 
150  virtual void setIsPerimeterWrappedTextRenderingEnabled(bool);
151 
153  virtual void setPerimeterWrappedTextCollection(const DtPerimeterWrappedTextCollection&);
154 
156  virtual void setPerimeterWrappedTextInterval(int intervalInScreenSpaceCM);
157 
159  virtual void setPerimeterWrappedTextFont(const std::string& fontFile, float fontPointSize);
160 
162  virtual void setPerimeterWrappedTextColor(float r, float g, float b, float a);
163 
165  virtual void setPerimeterWrappedTextBackgroundColor(float r, float g, float b, float a);
166 
167 
169  virtual const DtVector& origin() const;
170 
171  protected:
173  virtual void update();
174 
176  virtual void needsUpdate();
177 
179  virtual void slot_coordinateSystemChanged();
180 
181 
182  protected:
186 
187  int myGroup;
189 
191 
194  DtCoordinateSystem* myCoordinateSystem = nullptr;
195 
196  boost::signalslib::connection mySignalPostUpdateConnection;
197  };
198 }
bool myNeedsUpdate
Definition: DtOsgOverlayRectangleModel.h:188
int myGroup
Definition: DtOsgOverlayRectangleModel.h:187
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
voidpf uLong int origin
Definition: ioapi.h:42
Distributed model for drawing rectangles on the overlay layer.
Definition: DtOverlayRectangleModel.h:19
DtVector myDimensions
Definition: DtOsgOverlayRectangleModel.h:184
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
DtSignalConnectionManager myConnections
Definition: DtOsgOverlayRectangleModel.h:190
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
The DtCoordinateSystem is used to manage the current coordinate system of the scene.
Definition: DtCoordinateSystem.h:40
OSG implementation of overlay polygon model.
Definition: DtOsgOverlayRectangleModel.h:28
Base class to provide boost signal/slot management.
DtVector myOrigin
Definition: DtOsgOverlayRectangleModel.h:185
DT_DLL_VRVCORE double length(const makVrv::DtCoordinateSystem &, const std::vector< DtVector > &vertices)
Returns the total distance of a segmented line defined by the provided vector of vertices. Coordinates are in local database coordinates. The coordinate system is used to convert between the local database coordinates and geocentric. All distance is in 2D – the Z value is ignored.
boost::signalslib::connection mySignalPostUpdateConnection
Definition: DtOsgOverlayRectangleModel.h:196
Contains makVrv::DtUniqueID type.
Contains DLL export macros.
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:72
DtDcm myOrientationDcm
Definition: DtOsgOverlayRectangleModel.h:183
DtModelSetId
Definition: DtModelSetEnums.h:19
Contains DtOverlayRectangleModel declaration.
std::vector< DtUnicode > DtPerimeterWrappedTextCollection
Definition: DtOverlayPolygonModel.h:36

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)