VR-Forces 5.0.2 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtOsgWindowTriangleGroupInstance.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 
12 #include <vrvOsg/vrvOsg.h>
15 
17 
18 #include <osg/Vec2>
19 #include <osg/Matrix>
20 
21 namespace makVrv
22 {
23  class DtDe;
24  class DtFilledPolygon;
25 
34  {
35  public:
38 
41 
42  struct Triangle
43  {
44  unsigned int stipplePattern;
46  };
47 
50  virtual void setTriangleCount( unsigned int count );
51 
54  virtual void addTriangle( unsigned int stipplePattern,
55  float xVertex0, float yVertex0, float xVertex1, float yVertex1,
56  float xVertex2, float yVertex2 );
57 
63  virtual void updateTriangle( unsigned int index, unsigned int stipplePattern,
64  float xVertex0, float yVertex0, float xVertex1, float yVertex1,
65  float xVertex2, float yVertex2 );
66 
68  virtual void setVisible( bool isVisible );
69 
74  virtual void setChannelOverlay( const std::string& displayName,
75  const std::string& windowName, const std::string& channelName ) override;
76  protected:
80  virtual void updateGeometry();
81 
83  virtual void deleteAllTriangles();
84 
86  virtual DtFilledPolygon* createTriangle();
87 
88  protected:
89 
91  {
94  };
95  std::vector< TriangleStruct > myTriangles;
96 
97  unsigned int myTriangleCount;
98  };
99 
102  {
103  public:
106 
109 
111  static DtOsgWindowTriangleGroupInstanceCreator& instance( DtDe& de );
112 
114  static void registerInstance( DtDe& de, DtOsgWindowTriangleGroupInstanceCreator* instance );
115 
119  virtual DtOsgWindowTriangleGroupInstance* create();
120 
121  protected:
123  };
124 }
Contains makVrv::DtOsgWindowTriangleGroup class.
std::vector< TriangleStruct > myTriangles
Definition: DtOsgWindowTriangleGroupInstance.h:95
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
DtFilledPolygon * trianglePolygon
Definition: DtOsgWindowTriangleGroupInstance.h:93
A variable vertex convex filled 2D polygon.
Definition: DtFilledPolygon.h:26
unsigned int stipplePattern
Definition: DtOsgWindowTriangleGroupInstance.h:44
DtDe & myDe
Definition: DtOsgWindowTriangleGroupInstance.h:122
Contains makVrv::DtVirtualBaseClass class.
Contains makVrv::DtOsgWindowPolygonInstance class.
Definition: DtOsgWindowTriangleGroupInstance.h:42
Triangle TriangleInfo
Definition: DtOsgWindowTriangleGroupInstance.h:92
VertexList vertices
Definition: DtOsgWindowTriangleGroupInstance.h:45
Contains DLL export macros.
std::vector< osg::Vec2 > VertexList
Definition: DtOsgWindowPolygonInstance.h:87
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:70
Definition: DtOsgWindowTriangleGroupInstance.h:90
Creator for DtOsgWindowTriangleInstance.
Definition: DtOsgWindowTriangleGroupInstance.h:101
OSG Implementation of a DtWindowPolygonInstance. Uses a vrvGraphics DtPolygon to implemente a 2D poly...
Definition: DtOsgWindowPolygonInstance.h:31
unsigned int myTriangleCount
Definition: DtOsgWindowTriangleGroupInstance.h:97
This class updates vertices for each triangle added via addTriangle. They are stored in a vector of t...
Definition: DtOsgWindowTriangleGroupInstance.h:33

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)