VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtFilledPolygon.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 <vrvGraphics/DtPolygon.h>
14 
15 namespace makVrv
16 {
17 
18  class DtOverlayRenderer;
19  class DtTriangleRenderer;
20  class DtTriangleProxy;
21  class DtWidgetPicker;
22  class DtPickableTriangle;
23 
27  {
28  public:
29 
30  enum FillType
31  {
32  Fill_Solid = 0,
34  FillType_End
35  };
36 
39 
42 
44  virtual ~DtFilledPolygon();
45 
49  virtual void setFillType(FillType type);
50 
52  virtual FillType fillType() const;
53 
58  virtual void setFillParameter( unsigned int param, unsigned int fullStipplePattern[32] = 0 );
59 
61  virtual void clearFillPattern();
62 
64  virtual void getFillParameter( unsigned int& paramOut, unsigned int fullStipplePatternOut[32]) const;
65 
70  virtual void setEventsEnabled(bool enabled, unsigned long long = 0);
71 
73  bool eventsEnabled() const;
74 
77  virtual void setVertexCount(unsigned int vertexCount);
78 
80  virtual unsigned int vertexCount() const;
81 
83  virtual void set2DPositions( const std::vector<float>& vertices );
84 
87  virtual void set2DPosition( unsigned int vertexIndex, float x, float y );
88 
90  virtual void set2DCentroidPosition( float x, float y );
91 
93  virtual void get2DPosition( unsigned int vertexIndex, float& x, float& y ) const;
94 
96  virtual void set3DPosition( unsigned int vertexIndex, float x, float y, float z, float w );
97 
99  virtual void set3DCentroidPosition( float x, float y, float z, float w );
100 
102  virtual void get3DPosition( unsigned int index, float& x, float& y, float& z, float& w ) const;
103 
104  void set3DDirectionAndLength( unsigned int index, float x, float y, float z, float l );
105 
107  virtual void setStipple( unsigned int stipplePattern );
108 
110  virtual void setVertexColor( unsigned int index, float r, float g, float b, float a );
111 
113  virtual void getVertexColor( unsigned int index, float& r, float& g, float& b, float& a );
114 
116  virtual void setCentroidColor( float r, float g, float b, float a );
117 
119  virtual void setColor(float r, float g, float b, float a);
120 
122  virtual void getColor(float& r, float& g, float& b, float& a) const;
123 
125  virtual int group() const;
126 
128  virtual void setGroup(int);
129 
132  virtual void triangulate();
133 
140  virtual void set2DPositionsTriangles( const std::vector<float>& vertices );
141 
145  virtual void setVertexCountTriangles( unsigned int vertexCount );
146 
147  protected:
148 
149  typedef std::vector<float> VertexList;
150  typedef std::vector<DtTriangleProxy*> TriangleProxyList;
151  typedef std::vector<DtPickableTriangle*> PickableTriangleList;
152 
156  unsigned long long myUserData;
159  float myCenterPoint[2];
160  double my3DCenterPoint[3];
163  unsigned int myFillParam;
164  unsigned int myFullStipplePattern[32];
166  int myGroup;
167  };
168 
169 }
170 
unsigned int myFillParam
Definition: DtFilledPolygon.h:163
DtWidgetPicker & myPicker
Definition: DtFilledPolygon.h:154
unsigned long long myUserData
Definition: DtFilledPolygon.h:156
Contains the makVrv::DtPolygon class declaration.
std::vector< float > VertexList
Definition: DtFilledPolygon.h:149
DtTriangleRenderer & myRenderer
Definition: DtFilledPolygon.h:153
A variable vertex convex filled 2D polygon.
Definition: DtFilledPolygon.h:26
TriangleProxyList myTriangles
Definition: DtFilledPolygon.h:161
The triangle renderer.
Definition: DtTriangleRenderer.h:29
#define DT_DLL_VRVGRAPHICS
Contains DLL export macros.
Definition: vrvGraphics.h:19
int myGroup
Definition: DtFilledPolygon.h:166
Definition: DtFilledPolygon.h:33
std::vector< DtTriangleProxy * > TriangleProxyList
Definition: DtFilledPolygon.h:150
FillType
Definition: DtFilledPolygon.h:30
VertexList myVertices
Definition: DtFilledPolygon.h:157
A variable vertex 2D polygon.
Definition: DtPolygon.h:19
std::vector< DtPickableTriangle * > PickableTriangleList
Definition: DtFilledPolygon.h:151
VertexList my3DVertices
Definition: DtFilledPolygon.h:158
PickableTriangleList myPickableTriangles
Definition: DtFilledPolygon.h:162
bool myEventsEnabled
Definition: DtFilledPolygon.h:155
FillType myFillType
Definition: DtFilledPolygon.h:165
The picker class which allocates and does picking operatings on widgets.
Definition: DtWidgetPicker.h:32
The DtOverlayRenderer implements the overlay concept.
Definition: DtOverlayRenderer.h:23

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)