VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtOutlinedPolygonInterface.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2023 MAK Technologies, Inc.
3  * All rights reserved.
4  *****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/vrvCore.h>
15 
17 
18 namespace makVrv
19 {
20  class DtChannel;
21  class DtLineSegmentInterface;
22 
26  {
27  public:
28 
31 
33  virtual ~DtOutlinedPolygonInterface();
34 
39  virtual void setEventsEnabled(bool enabled,
40  unsigned long long userData = 0) = 0;
41 
43  virtual bool eventsEnabled() const = 0;
44 
47  virtual void setVertexCount(unsigned int vertexCount) = 0;
48 
50  virtual unsigned int vertexCount() const = 0;
51 
54  virtual void set2DPositions(const std::vector<float>& vertices) = 0;
55 
57  virtual void set2DPosition(unsigned int vertexIndex, float x1, float y1) = 0;
58 
60  virtual void get2DPosition(unsigned int vertexIndex, float& x,
61  float& y) const = 0;
62 
66  virtual void set3DPosition(unsigned int vertexIndex, float x, float y,
67  float z, float w) = 0;
68 
70  virtual void get3DPosition(unsigned int vertexIndex, float& x, float& y,
71  float& z, float& w) const = 0;
72 
73  virtual void set3DDirectionAndLength(unsigned int index,
74  float x, float y, float z, float l) = 0;
75 
77  virtual void setVertexColor(unsigned int index, float r, float g,
78  float b, float a) = 0;
79 
81  virtual void getVertexColor(unsigned int index, float& r, float& g,
82  float& b, float& a) = 0;
83 
85  virtual void setColor(float r, float g, float b, float a) = 0;
86 
88  virtual void getColor(float& r, float& g, float& b, float& a) const = 0;
89 
97  virtual void setStippleParameters(unsigned int scale, unsigned short pattern) = 0;
98 
103  virtual void setStipple(unsigned int stipplePattern) = 0;
104 
106  virtual void setOutlineWidth(float) = 0;
107 
111  virtual void setEventOutlineWidth(float) = 0;
112 
114  virtual int group() const = 0;
115 
117  virtual void setGroup(int) = 0;
118 
120  virtual DtLineSegmentInterface* createAndInitNewSegment() = 0;
121 
122  };
123 
125  {
126  public:
129  static DtOutlinedPolygonInterfaceCreator& instance(DtDe&);
130 
132  static void registerInstance(DtDe& de, DtOutlinedPolygonInterfaceCreator* anInstance);
133 
135  virtual DtOutlinedPolygonInterface* create(DtDe& de, DtChannel* channel, DtModelSetId modelSet) = 0;
136  };
137 
138 }
A convex polygon drawn using lines.
Definition: DtOutlinedPolygonInterface.h:25
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
Definition: DtOutlinedPolygonInterface.h:124
An abstract interface for a polygon primitive.
Definition: DtPolygonInterface.h:21
The abstract Channel Class.
Definition: DtChannel.h:35
An interface for a single line segment.
Definition: DtLineSegmentInterface.h:23
Contains makVrv::DtVirtualBaseClass class.
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
Contains the makVrv::DtPolygonInterface class declaration.
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
Contains various enum classes relating to model sets.
Contains DLL export macros.

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)