VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtDecalProjectorLineModel.h
Go to the documentation of this file.
1 // /******************************************************************************
2 // ** Copyright (c) 2023 MAK Technologies, Inc.
3 // ** All rights reserved.
4 // ******************************************************************************/
5 
10 
11 #pragma once
12 
13 #include <vrvCore/vrvCore.h>
14 #include <vrvCore/DtModel.h>
17 #include <vrvCore/DtUniqueID.h>
18 
19 
20 namespace makVrv
21 {
22  class DtDecalProjectorComponentInterface;
23  class DtDecalProjectorLineInterface;
24 
25 
31  {
32  public:
33 
34  typedef std::vector<DtVector> PointVector;
35 
38 
40  virtual ~DtDecalProjectorLineModel();
41 
43  DtDecalProjectorLineModel() = delete;
44 
47 
49  DtDecalProjectorLineModel& operator=(const DtDecalProjectorLineModel&) = delete;
50 
51  public:
52 
54  virtual void setPosition(int index, const DtVector& position) override;
55 
57  virtual void removePosition(int index) override;
58 
60  virtual void setOrientation(int index, const DtTaitBryan& orientation) override;
61 
65  virtual void setIsSupportModel(bool isSupport) override;
66 
68  virtual void setPickable(bool enabled);
69 
72  virtual void setVisible(bool isVisible) override;
73 
76  virtual void setColor(float r, float g, float b, float a) override;
77 
79  virtual void setLineStipplePattern(unsigned short pattern);
80 
83  virtual void setLineWidth(float width);
84 
86  virtual void setSegmentStartArrow(int, bool);
87 
90  virtual void setSegmentEndArrow(int, bool);
91 
93  virtual void setArrowSize(double);
94 
96  virtual void setArrowStyle(int);
97 
99  virtual void setLineStyle(int);
100 
102  virtual void setModelDefinition(const std::string& str) override;
103 
104  protected:
105 
109  virtual void setNeedsUpdate();
110 
112  virtual void setTransformDirty();
113 
115  virtual void setPointsDirty();
116 
118  virtual void setParametersDirty();
119 
121  virtual void addToScene(const DtUniqueID& sceneObjectId,
122  DtModelSetId modelSet, int visualizerType) override;
123 
125  virtual void removeFromScene() override;
126 
128  virtual void setLocalPosition(int index, const DtVector& position);
129 
132  virtual void update();
133 
134  protected:
135 
136  // These values are used to allow setting up various parameters but only
137  // committing the changes once during a post update signal.
138  // This keeps the amount of processing work to a minimum.
139  // If a setting/parameter changes, then this object:
140  // connects to the post update signal
141  // processes the changes in the post update signal
142  // disconnects from the post update signal
147 
150 
152 
155 
156  std::string myModelDefinition;
157  std::string myTexture;
158 
159  float myColor[4];
161 
162  float myLineWidth;
163  double myArrowSize;
164 
165  unsigned short myLineStipplePattern;
166  unsigned int myFullStipplePattern[32];
167 
169 
171  };
172 }
unsigned short myLineStipplePattern
Definition: DtDecalProjectorLineModel.h:165
vrvTacticalGraphicUtilities::LineStyle myLineStyle
Definition: DtDecalProjectorLineModel.h:153
bool myPointsDirty
Definition: DtDecalProjectorLineModel.h:145
This class provides a model of a line that will used a decal projector to be projected on the terrain...
Definition: DtDecalProjectorLineModel.h:30
double myArrowSize
Definition: DtDecalProjectorLineModel.h:163
LineStyle
Default line Styles.
Definition: DtTacticalGraphicUtilities.h:28
std::vector< DtVector > PointVector
Definition: DtDecalProjectorLineModel.h:34
DtDecalProjectorLineInterface * myLine
Definition: DtDecalProjectorLineModel.h:168
bool myPickable
Definition: DtDecalProjectorLineModel.h:160
ArrowStyle
Definition: DtTacticalGraphicUtilities.h:46
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
bool myParametersDirty
Definition: DtDecalProjectorLineModel.h:146
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
Contains makVrv::DtModel class.
DtVector myTransformPosition
Definition: DtDecalProjectorLineModel.h:148
DtUniqueID mySceneObjectId
Definition: DtDecalProjectorLineModel.h:170
A model which owns a single model instance. A DtModel is a managing container for a single DtModelIns...
Definition: DtModel.h:56
Contains makVrv::DtUniqueID type.
bool myTransformDirty
Definition: DtDecalProjectorLineModel.h:144
std::string myModelDefinition
Definition: DtDecalProjectorLineModel.h:156
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
bool myConnectedToPostUpdate
Definition: DtDecalProjectorLineModel.h:143
vrvTacticalGraphicUtilities::ArrowStyle myArrowStyle
Definition: DtDecalProjectorLineModel.h:154
DtModelSetId
Definition: DtModelSetEnums.h:19
An interface for a decal projector line.
Definition: DtDecalProjectorLineInterface.h:29
PointVector myLinePoints
Definition: DtDecalProjectorLineModel.h:151
std::string myTexture
Definition: DtDecalProjectorLineModel.h:157
DtTaitBryan myTransformOrientation
Definition: DtDecalProjectorLineModel.h:149
Contains various enum classes relating to model sets.
float myLineWidth
Definition: DtDecalProjectorLineModel.h:162
Contains DLL export macros.

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)