VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtCommunicationLine.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2022 MAK Technologies, Inc.
3  * All rights reserved.
4  *****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/vrvCore.h>
14 #include <vrvCore/DtUniqueID.h>
15 
18 
19 #include <matrix/vlVector.h>
20 
21 namespace makVrv
22 {
23 
24  class DtSceneObjectAgent;
25  class DtAttachableUpdaterAgent;
26  class DtSegmentedLineModelAgent;
27  enum class DtModelSetId;
28 
33  {
34  public:
35 
37  virtual ~DtCommunicationLine();
38 
40  virtual void setDirection( const AttachablePoint& source, const AttachablePoint& dest );
41 
44 
47  virtual void setColor( float red, float green, float blue, float alpha = 1.0f );
48 
53  virtual void setAnimationRate( float rate );
54 
56  virtual void animate( double t );
57 
59 
61  virtual void setCurvedEarthExaggeration( float amount );
62 
66  virtual void setUseCurvedEarthLines( bool useCurved );
67 
69  virtual void setStartOffset( const DtVector& offset );
70 
72  virtual void setEndOffset( const DtVector& offset );
73 
75  virtual void setStipplePattern( unsigned short stipplePattern );
76 
78  virtual void setStippleRepeatFactor( int repeatFactor );
79 
80  protected:
81 
83 
85  DtCommunicationLine( DtDe& de, DtModelSetId modelSet, int visualType,
86  AttachablePoint source, AttachablePoint dest );
87 
91  virtual void initialize();
92 
97  virtual DtSegmentedLineModelAgent* instantiateLineModelAgent();
98 
104  virtual void initializeLineModelAgent( DtSegmentedLineModelAgent* agent );
105 
109  virtual void slot_coordinateSystemChanged();
110 
111  private:
112 
115 
118 
120  DtCommunicationLine &operator=(const DtCommunicationLine &);
121 
122  protected:
123 
125 
126  DtAttachableUpdaterAgent* myUpdater;
127  DtSegmentedLineModelAgent* myLineModel;
128 
129  DtSceneObjectAgent* mySceneObject;
130 
133 
136 
138 
139  unsigned short myStipplePattern;
141 
143 
146 
151 
153 
154  };
155 
156 
162  {
163  public:
164 
168  static DtCommunicationLineCreator& instance( DtDe& de );
169 
172 
175  DtCommunicationLine* create( DtModelSetId modelSet, int visualizerType,
178 
179  protected:
180 
182 
183  };
184 
185 }
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
Contains the DtBaseRadioVisualization interface.
Common interface for communication lines and squawk indicators.
Definition: DtBaseRadioVisualization.h:23
Encapsulates a communication line between two entities or myFixedFlag points in space.
Definition: DtCommunicationLine.h:32
Defines an attachable point for a squawk indicator or comm line endpoint. May be an entity or a fixed...
Definition: DtBaseRadioVisualization.h:30
float myLineColorA
Definition: DtCommunicationLine.h:150
float myLineColorB
Definition: DtCommunicationLine.h:149
unsigned short myStipplePattern
Definition: DtCommunicationLine.h:139
float myAnimationRate
Definition: DtCommunicationLine.h:142
float myLineColorR
Definition: DtCommunicationLine.h:147
DtDe & myDe
Definition: DtCommunicationLine.h:181
DtModelSetId myModelSet
Definition: DtCommunicationLine.h:131
AttachablePoint myEndPoint
Definition: DtCommunicationLine.h:145
AttachablePoint myStartPoint
Definition: DtCommunicationLine.h:144
DtSignalConnectionManager myConnections
Definition: DtCommunicationLine.h:124
Contains makVrv::DtVirtualBaseClass class.
bool myReverseDirectionFlag
Definition: DtCommunicationLine.h:134
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
DtDe & myDe
Definition: DtCommunicationLine.h:152
float myLineColorG
Definition: DtCommunicationLine.h:148
DtSegmentedLineModelAgent * myLineModel
Definition: DtCommunicationLine.h:127
const char * source
Definition: lz4.h:442
DtAttachableUpdaterAgent * myUpdater
Definition: DtCommunicationLine.h:126
Base class to provide boost signal/slot management.
DtSceneObjectAgent * mySceneObject
Definition: DtCommunicationLine.h:129
Contains makVrv::DtUniqueID type.
int myStippleRepeatFactor
Definition: DtCommunicationLine.h:140
int myVisualType
Definition: DtCommunicationLine.h:132
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
DtModelSetId
Definition: DtModelSetEnums.h:19
voidpf uLong offset
Definition: ioapi.h:42
bool myCurvedEarthModeFlag
Definition: DtCommunicationLine.h:135
Instantiates communication lines between entities. This creator can be overriden by registering the o...
Definition: DtCommunicationLine.h:161
float myCurvedEarthExaggerationAmount
Definition: DtCommunicationLine.h:137
char * dest
Definition: lz4.h:440
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)