3f5de12912d31b76ae4ff61043a0a1bdc82e7e96
[occt.git] / src / Aspect / Aspect_AspectFillArea.cxx
1 // Created by: NW,JPB,CAL
2 // Copyright (c) 1991-1999 Matra Datavision
3 // Copyright (c) 1999-2014 OPEN CASCADE SAS
4 //
5 // This file is part of Open CASCADE Technology software library.
6 //
7 // This library is free software; you can redistribute it and/or modify it under
8 // the terms of the GNU Lesser General Public License version 2.1 as published
9 // by the Free Software Foundation, with special exception defined in the file
10 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
11 // distribution for complete text of the license and disclaimer of any warranty.
12 //
13 // Alternatively, this file may be used under the terms of Open CASCADE
14 // commercial license or contractual agreement.
15
16 // Modified:    15/01/98 ; FMN : Ajout Hidden Line
17
18
19 //-Version      
20
21 //-Design       Declaration of variables specific to the context
22 //              of tracing facets
23
24 //-Warning      Context of tracing facets id defined by:
25 //              - the style of the interior of the facet
26 //              - the style of the border of the facet
27 //              - the color
28
29 //-References   
30
31 //-Language     C++ 2.0
32
33 //-Declarations
34
35 // for the class
36 #include <Aspect_AspectFillArea.ixx>
37
38 //-Aliases
39
40 //-Global data definitions
41
42 //      -- interior
43 //      MyInteriorStyle :       InteriorStyle;
44 //      MyInteriorColor :       Color;
45
46 //      -- border
47 //      MyEdgeColor     :       Color;
48 //      MyEdgeType      :       TypeOfLine;
49 //      MyEdgeWidth     :       Standard_Real;
50
51 //      -- shading
52 //      MyHatchStyle    :       HatchStyle;
53
54
55 //-Constructors
56
57 //-Destructors
58
59 //-Methods, in order
60
61 Aspect_AspectFillArea::Aspect_AspectFillArea () {
62
63         MyInteriorStyle = Aspect_IS_EMPTY;
64         MyInteriorColor = Quantity_NOC_CYAN1;
65         MyBackInteriorColor = Quantity_NOC_CYAN1;
66         MyEdgeColor     = Quantity_NOC_WHITE;
67         MyEdgeType      = Aspect_TOL_SOLID;
68         MyEdgeWidth     = 1.0;
69         MyHatchStyle    = Aspect_HS_VERTICAL;
70
71 }
72
73 Aspect_AspectFillArea::Aspect_AspectFillArea (const Aspect_InteriorStyle InteriorStyle, const Quantity_Color& InteriorColor, const Quantity_Color& EdgeColor, const Aspect_TypeOfLine EdgeLineType, const Standard_Real EdgeLineWidth) {
74
75         if (EdgeLineWidth <= 0.0)
76                 Aspect_AspectFillAreaDefinitionError::Raise
77                         ("Bad value for EdgeLineWidth");
78
79         MyInteriorStyle = InteriorStyle;
80         MyInteriorColor = InteriorColor;
81         MyEdgeColor     = EdgeColor;
82         MyEdgeType      = EdgeLineType;
83         MyEdgeWidth     = EdgeLineWidth;
84         MyHatchStyle    = Aspect_HS_VERTICAL;
85
86 }
87
88 void Aspect_AspectFillArea::SetInteriorStyle (const Aspect_InteriorStyle AStyle) {
89
90         MyInteriorStyle = AStyle;
91
92 }
93
94 void Aspect_AspectFillArea::SetInteriorColor (const Quantity_Color& AColor) {
95
96         MyInteriorColor = AColor;
97
98 }
99
100 void Aspect_AspectFillArea::SetBackInteriorColor( const Quantity_Color& color )
101 {
102   MyBackInteriorColor = color;
103 }
104
105 void Aspect_AspectFillArea::SetEdgeColor (const Quantity_Color& AColor) {
106
107         MyEdgeColor     = AColor;
108
109 }
110
111 void Aspect_AspectFillArea::SetEdgeLineType (const Aspect_TypeOfLine AType) {
112
113         MyEdgeType      = AType;
114
115 }
116
117 void Aspect_AspectFillArea::SetEdgeWidth (const Standard_Real AWidth) {
118
119         if (AWidth <= 0.0)
120                 Aspect_AspectFillAreaDefinitionError::Raise
121                         ("Bad value for EdgeLineWidth");
122
123         MyEdgeWidth     = AWidth;
124
125 }
126
127 void Aspect_AspectFillArea::SetHatchStyle (const Aspect_HatchStyle AStyle) {
128
129         MyHatchStyle    = AStyle;
130
131 }
132
133 Aspect_HatchStyle Aspect_AspectFillArea::HatchStyle () const {
134
135         return (MyHatchStyle);
136
137 }
138
139 void Aspect_AspectFillArea::Values (Aspect_InteriorStyle& AStyle, Quantity_Color& AIntColor, Quantity_Color& AEdgeColor, Aspect_TypeOfLine& AType, Standard_Real& AWidth) const {
140
141         AStyle          = MyInteriorStyle;
142         AIntColor       = MyInteriorColor;
143         AEdgeColor      = MyEdgeColor;
144         AType           = MyEdgeType;
145         AWidth          = MyEdgeWidth;
146
147 }
148
149 void Aspect_AspectFillArea::Values (Aspect_InteriorStyle& AStyle, Quantity_Color& AIntColor, Quantity_Color& BackIntColor, Quantity_Color& AEdgeColor, Aspect_TypeOfLine& AType, Standard_Real& AWidth) const {
150
151         AStyle          = MyInteriorStyle;
152         AIntColor       = MyInteriorColor;
153         BackIntColor    = MyBackInteriorColor;
154         AEdgeColor      = MyEdgeColor;
155         AType           = MyEdgeType;
156         AWidth          = MyEdgeWidth;
157
158 }