VR-Forces 5.0.2 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtSegmentedLine.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2014 MAK Technologies, Inc.
3  * All rights reserved.
4  *****************************************************************************/
5 
9 
10 #pragma once
11 
13 
14 namespace makVrv
15 {
16 
17  class DtOverlayRenderer;
18  class DtWidgetPicker;
19  class DtLineSegmentInterface;
20  class DtPickableLine;
21 
25  {
26  public:
27 
30 
36 
38  virtual ~DtSegmentedLine();
39 
44  virtual void setEventsEnabled(bool enabled, unsigned long long userData = 0);
45 
47  virtual bool eventsEnabled() const;
48 
53  virtual void setVertexCount(unsigned int vertexCount);
54 
57  virtual unsigned int vertexCount() const;
58 
60  virtual unsigned int segmentCount() const;
61 
63  virtual void set2DPosition(unsigned int vertexIndex, float x1, float y1);
64 
66  virtual void get2DPosition(unsigned int vertexIndex, float& x, float& y) const;
67 
71  virtual void set3DPosition(unsigned int vertexIndex, float x, float y, float z, float w);
72 
74  virtual void get3DPosition(unsigned int vertexIndex, float& x, float& y, float& z, float& w) const;
75 
77  virtual void set3DDirection(unsigned int vertexIndex, float x, float y, float z);
78 
80  virtual void get3DDirection(unsigned int vertexIndex, float& x, float& y, float& z) const;
81 
83  virtual void setDirection2DLength(unsigned int vertexIndex, float length);
84 
86  virtual float direction2DLength(unsigned int vertexIndex) const;
87 
89  virtual void setSegmentColor(unsigned int segment, float r, float g, float b, float a);
90 
92  virtual void setPointColor(unsigned int point, float r, float g, float b, float a);
93 
95  virtual void setStipplePattern( unsigned int segment, unsigned int pattern );
96  virtual void setStipplePattern( unsigned int segment, unsigned int scale, unsigned int pattern );
97 
99  virtual void setWidth(unsigned int segment, float w);
100 
104  virtual void setEventWidth(float);
105 
107  virtual DtLineSegmentInterface* createAndInitNewSegment();
108 
111  virtual void setGroup( int );
112 
113  protected:
115  virtual void removeLineSegmentsUntilEndFrom(int segmentCount);
116 
118  virtual void setLineSegment(int, DtLineSegmentInterface*);
119 
122  virtual void slot_pickerDestroyed();
123 
124  protected:
125 
126  typedef std::vector<DtLineSegmentInterface*> LineSegmentList;
127  typedef std::vector<DtPickableLine*> PickableSegmentList;
128 
134  unsigned int myVertexCount;
135  unsigned long long myUserData;
137 
140  int myGroup;
141  };
142 }
unsigned long long myUserData
Definition: DtSegmentedLine.h:135
DtWidgetPicker & myPicker
Definition: DtSegmentedLine.h:130
float myEventWidth
Definition: DtSegmentedLine.h:136
bool myPickerConnected
Definition: DtSegmentedLine.h:139
A class which represents a single line segment.
Definition: DtLineSegmentInterface.h:16
#define DT_DLL_VRVGRAPHICS
Contains DLL export macros.
Definition: vrvGraphics.h:19
std::vector< DtPickableLine * > PickableSegmentList
Definition: DtSegmentedLine.h:127
bool myPickerDestroyed
Definition: DtSegmentedLine.h:138
unsigned int myVertexCount
Definition: DtSegmentedLine.h:134
bool myEventsEnabled
Definition: DtSegmentedLine.h:133
std::vector< DtLineSegmentInterface * > LineSegmentList
Definition: DtSegmentedLine.h:126
A convex polygon drawn using lines.
Definition: DtSegmentedLine.h:24
DtOverlayRenderer & myRenderer
Definition: DtSegmentedLine.h:129
int myGroup
Definition: DtSegmentedLine.h:140
PickableSegmentList myPickableSegments
Definition: DtSegmentedLine.h:132
LineSegmentList myLineSegments
Definition: DtSegmentedLine.h:131
The picker class which allocates and does picking operations on widgets.
Definition: DtWidgetPicker.h:45
The DtOverlayRenderer implements the overlay concept. An overlay is a 2D scene that is drawn on top o...
Definition: DtOverlayRenderer.h:41

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)