b311480e |
1 | -- Created on: 2003-11-12 |
2 | -- Created by: Alexander SOLOVYOV |
973c2be1 |
3 | -- Copyright (c) 2003-2014 OPEN CASCADE SAS |
b311480e |
4 | -- |
973c2be1 |
5 | -- This file is part of Open CASCADE Technology software library. |
b311480e |
6 | -- |
d5f74e42 |
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 |
973c2be1 |
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. |
b311480e |
12 | -- |
973c2be1 |
13 | -- Alternatively, this file may be used under the terms of Open CASCADE |
14 | -- commercial license or contractual agreement. |
7fd59977 |
15 | |
16 | class ElementalColorPrsBuilder from MeshVS inherits PrsBuilder from MeshVS |
17 | |
18 | ---Purpose: This class provides methods to create presentation of elements with |
19 | -- assigned colors. The class contains two color maps: map of same colors for front |
20 | -- and back side of face and map of different ones, |
21 | |
22 | uses |
23 | Presentation from Prs3d, |
24 | |
25 | Boolean from Standard, |
26 | Integer from Standard, |
27 | |
28 | Mesh from MeshVS, |
29 | MeshPtr from MeshVS, |
30 | DisplayModeFlags from MeshVS, |
31 | DataSource from MeshVS, |
32 | DataMapOfIntegerColor from MeshVS, |
33 | DataMapOfIntegerTwoColors from MeshVS, |
34 | TwoColors from MeshVS, |
35 | BuilderPriority from MeshVS, |
36 | Color from Quantity, |
37 | PackedMapOfInteger from TColStd |
38 | |
39 | is |
40 | |
41 | Create ( Parent : Mesh from MeshVS; |
42 | Flags : DisplayModeFlags from MeshVS = MeshVS_DMF_ElementalColorDataPrs; |
43 | DS : DataSource from MeshVS = 0; |
44 | Id : Integer = -1; |
45 | Priority : BuilderPriority from MeshVS = MeshVS_BP_ElemColor ) |
6e33d3ce |
46 | returns ElementalColorPrsBuilder from MeshVS; |
7fd59977 |
47 | ---Purpose: Constructor |
48 | |
49 | Build ( me; Prs : Presentation from Prs3d; |
50 | IDs : PackedMapOfInteger; |
51 | IDsToExclude : in out PackedMapOfInteger; |
52 | IsElement : Boolean; |
53 | DisplayMode : Integer ) is virtual; |
54 | ---Purpose: Builds presentation of elements with assigned colors. |
55 | |
56 | GetColors1 ( me ) returns DataMapOfIntegerColor from MeshVS; |
57 | ---C++: return const & |
58 | ---Purpose: Returns map of colors same for front and back side of face. |
59 | |
60 | SetColors1 ( me : mutable; |
61 | Map : DataMapOfIntegerColor from MeshVS ); |
62 | ---Purpose: Sets map of colors same for front and back side of face. |
63 | |
64 | HasColors1 ( me ) returns Boolean; |
65 | ---Purpose: Returns true, if map of colors isn't empty |
66 | |
67 | GetColor1 ( me; ID : Integer; |
68 | theColor : out Color from Quantity ) returns Boolean; |
69 | ---Purpose: Returns color assigned with element number ID |
70 | |
71 | SetColor1 ( me : mutable; |
72 | ID : Integer; |
73 | theColor : Color from Quantity ); |
74 | ---Purpose: Sets color assigned with element number ID |
75 | |
76 | GetColors2 ( me ) returns DataMapOfIntegerTwoColors from MeshVS; |
77 | ---C++: return const & |
78 | ---Purpose: Returns map of different colors for front and back side of face |
79 | |
80 | SetColors2 ( me : mutable; Map : DataMapOfIntegerTwoColors from MeshVS ); |
81 | ---Purpose: Sets map of different colors for front and back side of face |
82 | |
83 | HasColors2 ( me ) returns Boolean; |
84 | ---Purpose: Returns true, if map isn't empty |
85 | |
86 | GetColor2 ( me; ID : Integer; |
87 | theColor : out TwoColors from MeshVS ) returns Boolean; |
88 | ---Purpose: Returns colors assigned with element number ID |
89 | |
90 | GetColor2 ( me; ID : Integer; |
91 | theColor1 : out Color from Quantity; |
92 | theColor2 : out Color from Quantity ) returns Boolean; |
93 | ---Purpose: Returns colors assigned with element number ID |
94 | -- theColor1 is the front element color |
95 | -- theColor2 is the back element color |
96 | |
97 | SetColor2 ( me : mutable; |
98 | ID : Integer; |
99 | theTwoColors : TwoColors from MeshVS ); |
100 | ---Purpose: Sets colors assigned with element number ID |
101 | |
102 | SetColor2 ( me : mutable; |
103 | ID : Integer; |
104 | theColor1 : Color from Quantity; |
105 | theColor2 : Color from Quantity ); |
106 | ---Purpose: Sets color assigned with element number ID |
107 | -- theColor1 is the front element color |
108 | -- theColor2 is the back element color |
109 | |
110 | fields |
111 | myElemColorMap1 : DataMapOfIntegerColor from MeshVS; |
112 | myElemColorMap2 : DataMapOfIntegerTwoColors from MeshVS; |
113 | |
114 | end ElementalColorPrsBuilder; |