VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtWindowLineInstance.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 
13 #include <vrvMath/DtVector2.h>
14 #include <vrvMath/DtMatrix3.h>
16 #include <vector>
17 
18 namespace makVrv
19 {
29  {
30  public:
32  virtual ~DtWindowLineInstance();
33 
35  virtual void setVertex(unsigned int vertex, double x, double y ) = 0;
36 
38  virtual void removeVertex(unsigned int vertex ) = 0;
39 
41  virtual void setColor(float r, float g, float b, float a) = 0;
42 
44  virtual void setStipplePattern(unsigned int stipplePattern) = 0;
45 
47  virtual void setWidth(unsigned int width) = 0;
48 
51  virtual void setStyleSegments(
52  const std::vector<double>& segmentPercentages ) = 0;
53 
55  virtual void setSegmentColor(unsigned int index, float r, float g,
56  float b, float a) = 0;
57 
60  virtual void setSegmentStartColor(unsigned int index, float r, float g,
61  float b, float a) = 0;
62 
65  virtual void setSegmentEndColor(unsigned int index, float r, float g,
66  float b, float a) = 0;
67 
70  virtual void setSegmentLightningStyle(unsigned int index,
71  bool enableLightningStyle) = 0;
72 
74  virtual void setSegmentStartArrow(unsigned int index,
75  bool enableStartArrow) = 0;
76 
78  virtual void setSegmentEndArrow( unsigned int index,
79  bool enableEndArrow ) = 0;
80 
83  virtual void setSegmentStipplePattern(unsigned int index, unsigned int stippleScale,
84  unsigned int stipplePattern) = 0;
85 
87  virtual void setSegmentWidth(unsigned int index,
88  unsigned int width) = 0;
89 
91  virtual void update() = 0;
92 
95  virtual void setTransform( DtMatrix3<double> transform ) = 0;
96 
98  virtual void setClipBox( DtVector2<double> bottomLeftLocation, DtVector2<double> topRightLocation ) = 0;
99 
102  virtual void setGroup( int groupId ) = 0;
103 
108  virtual void setChannelOverlay( const std::string& displayName,
109  const std::string& windowName, const std::string& channelName ) = 0;
110  };
111 
115  {
116  public:
119 
121  virtual ~DtWindowLineInstanceCreator();
122 
124  static DtWindowLineInstanceCreator& instance( DtDe& de );
125 
127  static void registerInstance( DtDe& de, DtWindowLineInstanceCreator* instance );
128 
130  virtual DtWindowLineInstance* create();
131  protected:
133  };
134 }
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
3 dimensional matrix
DtDe & myDe
Definition: DtWindowLineInstance.h:132
2 dimensional vector
Interface for classes with settable visibility, such as a 3D model or 2D graphic. ...
Definition: DtSetVisibilityInterface.h:22
Creator for DtWindowLineInstance, will throw if you create on it. osg creator is registered in vrvOsg...
Definition: DtWindowLineInstance.h:114
Contains makVrv::DtVirtualBaseClass class.
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
Contains the DtSetVisibilityInterface.
Interface for a DtWindowLineInstance - an attachable model instance that draws a 2D line...
Definition: DtWindowLineInstance.h:28
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

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)