blob: 70d8c41dd9418efd70226de75304f7e9d7a82019 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
|
// File: NIS_TriangulatedDrawer.hxx
// Created: 19.07.07 12:05
// Author: Alexander GRIGORIEV
// Copyright: Open Cascade 2007
#ifndef NIS_TriangulatedDrawer_HeaderFile
#define NIS_TriangulatedDrawer_HeaderFile
#include <NIS_Drawer.hxx>
#include <Quantity_Color.hxx>
class NIS_Triangulated;
/**
* Drawer for interactive object type NIS_Triangulated.
*/
class NIS_TriangulatedDrawer : public NIS_Drawer
{
public:
// ---------- PUBLIC METHODS ----------
/**
* Constructor.
*/
Standard_EXPORT NIS_TriangulatedDrawer(const Quantity_Color theNormal,
const Quantity_Color theHilight
= Quantity_NOC_GRAY80,
const Quantity_Color theDynHilight
= Quantity_NOC_CYAN1);
/**
* Copy the relevant information from another instance of Drawer.
* raises exception if theOther has incompatible type (test IsKind).
*/
Standard_EXPORT virtual void Assign (const Handle_NIS_Drawer& theOther);
/**
* Called before execution of Draw(), once per group of interactive objects.
*/
Standard_EXPORT virtual void BeforeDraw(const DrawType theType,
const NIS_DrawList& theDrawList);
/**
* Called after execution of Draw(), once per group of interactive objects.
*/
Standard_EXPORT virtual void AfterDraw(const DrawType theType,
const NIS_DrawList& theDrawList);
/**
* Main function: display the given interactive object in the given view.
*/
Standard_EXPORT virtual void Draw (const Handle_NIS_InteractiveObject&,
const DrawType theType,
const NIS_DrawList& theDrawList);
/**
* Matching two instances, for Map interface.
*/
Standard_EXPORT virtual Standard_Boolean
IsEqual (const Handle_NIS_Drawer& theOth)const;
protected:
/**
* If myPolygonAsLineLoop is true then draw polygons of the object
* in the mode GL_LINE_LOOP instead of GL_POLYGON in the case if no filling
* was requested. This will eliminate the bug with Intel integrated graphic
* cards (e.g. 945G Express) for the sake of polygon offset functionality.
*/
Standard_Boolean myPolygonAsLineLoop;
Quantity_Color myColor[5];
Standard_ShortReal myLineWidth;
Standard_Boolean myIsDrawPolygons;
unsigned int myPolygonType;
friend class NIS_Triangulated;
public:
// Declaration of CASCADE RTTI
DEFINE_STANDARD_RTTI (NIS_TriangulatedDrawer)
};
// Definition of HANDLE object using Standard_DefineHandle.hxx
DEFINE_STANDARD_HANDLE (NIS_TriangulatedDrawer, NIS_Drawer)
#endif
|