b311480e |
1 | -- Created on: 2003-10-10 |
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 | -- |
973c2be1 |
7 | -- This library is free software; you can redistribute it and / or modify it |
8 | -- under the terms of the GNU Lesser General Public 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. |
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 | package MeshVS |
17 | |
18 | ---Purpose: This package provides classes and simple methods of flexible presentation object |
19 | -- that is responsible for the following tasks: |
20 | -- 1) Displaying mesh ( some mesh elements and nodes may be hidden ) |
21 | -- 2) Results of calculations and analysis are shown through the single common interface. |
22 | -- 3) The data can be shown with different visual styles: colors, vectors, texts and deformed mesh. |
23 | -- 4) Selection of mesh entities (except hidden ones) |
24 | |
25 | uses |
26 | Quantity, AIS, PrsMgr, Prs3d, SelectMgr, TColStd, SelectBasics, |
2361d7e8 |
27 | Graphic3d, gp, TCollection, Bnd, TColgp, Select3D, TopLoc, Aspect |
7fd59977 |
28 | |
29 | is |
30 | ---Purpose: The integer keys for most useful constants attuning mesh presentation appearence |
31 | -- WARNING: DA_TextExpansionFactor, DA_TextSpace, DA_TextDisplayType have no effect and might be removed |
32 | -- in the future. |
33 | |
34 | enumeration DrawerAttribute is |
35 | |
36 | -- Attributes of AspectFillArea3d |
37 | DA_InteriorStyle, |
38 | DA_InteriorColor, |
39 | DA_BackInteriorColor, |
40 | DA_EdgeColor, |
41 | DA_EdgeType, |
42 | DA_EdgeWidth, |
43 | DA_HatchStyle, |
44 | DA_FrontMaterial, |
45 | DA_BackMaterial, |
46 | -- Attributes of AspectLine3d |
47 | DA_BeamType, |
48 | DA_BeamWidth, |
49 | DA_BeamColor, |
50 | -- Attributes of AspectMarker3d |
51 | DA_MarkerType, |
52 | DA_MarkerColor, |
53 | DA_MarkerScale, |
54 | -- Attributes of AspectText3d |
55 | DA_TextColor, |
56 | DA_TextHeight, |
57 | DA_TextFont, |
58 | DA_TextExpansionFactor, |
59 | DA_TextSpace, |
60 | DA_TextStyle, |
61 | DA_TextDisplayType, |
62 | DA_TextTexFont, |
63 | DA_TextFontAspect, |
64 | -- Attributes of vector presentation |
65 | DA_VectorColor, |
66 | DA_VectorMaxLength, |
67 | DA_VectorArrowPart, |
68 | |
69 | -- Attributes of MeshVS_Mesh |
70 | DA_IsAllowOverlapped, |
71 | ---Purpose: Is it allowed to draw beam and face's edge overlapping with this beam. |
72 | |
73 | DA_Reflection, |
74 | ---Purpose: Is mesh drawn with reflective material |
75 | |
76 | DA_ColorReflection, |
77 | ---Purpose: Is colored mesh data representation drawn with reflective material |
78 | |
79 | DA_ShrinkCoeff, |
80 | ---Purpose: What part of face or link will be shown if shrink mode. It is recommended this coeff to be between 0 and 1. |
81 | |
82 | DA_MaxFaceNodes, |
83 | ---Purpose: How many nodes is possible to be in face |
84 | |
85 | DA_ComputeTime, |
86 | ---Purpose: If this parameter is true, the compute method CPU time will be displayed in console window |
87 | |
88 | DA_ComputeSelectionTime, |
89 | ---Purpose: If this parameter is true, the compute selection method CPU time will be displayed in console window |
90 | |
91 | DA_DisplayNodes, |
92 | ---Purpose: If this parameter is false, the nodes won't be shown in viewer, otherwise will be. |
93 | |
94 | DA_SelectableAuto, |
95 | ---Purpose: If this parameter is true, the selectable nodes map will be updated automatically when hidden elements change |
96 | |
97 | DA_ShowEdges, |
98 | ---Purpose: If this parameter is false, the face's edges are not shown |
99 | -- Warning: in wireframe mode this parameter is ignored |
100 | |
101 | DA_SmoothShading, |
102 | ---Purpose: Is mesh drawing in smooth shading mode |
103 | |
104 | DA_SupressBackFaces, |
105 | ---Purpose: Is back faces of volume elements should be supressed |
106 | |
107 | DA_User |
108 | |
109 | end DrawerAttribute; |
110 | |
111 | ---Purpose: this enumeration describe what type of sensitive entity will be built |
112 | -- in 0-th selection mode (it means that whole mesh is selected ) |
113 | enumeration MeshSelectionMethod is |
114 | |
115 | MSM_PRECISE, -- the list of sensitive entities according to nodes and elements (the slowest method) |
116 | MSM_NODES, -- only set of sensitive points of nodes |
117 | MSM_BOX -- mesh bounding box (the fastest method) |
118 | |
119 | end MeshSelectionMethod; |
120 | |
121 | class Mesh; |
122 | pointer MeshPtr to Mesh from MeshVS; |
123 | class Drawer; |
124 | deferred class DataSource; |
125 | deferred class DataSource3D; |
126 | class DeformedDataSource; |
127 | |
128 | ---Category: Presentation builders for some ordinary types of data |
129 | |
130 | deferred class PrsBuilder; |
131 | class MeshPrsBuilder; |
132 | class NodalColorPrsBuilder; |
133 | class ElementalColorPrsBuilder; |
134 | class TextPrsBuilder; |
135 | class VectorPrsBuilder; |
136 | |
137 | ---Category: Classes for selection: special owner and sensitive entities |
138 | |
139 | class MeshOwner; |
140 | class MeshEntityOwner; |
141 | |
142 | class DummySensitiveEntity; |
143 | class SensitiveMesh; |
144 | class SensitiveFace; |
145 | class SensitiveSegment; |
146 | class SensitivePolyhedron; |
147 | |
148 | ---Category: miscellaneous types: data maps, enumerations and other |
149 | |
150 | imported EntityType; |
151 | imported DisplayModeFlags; |
152 | imported SelectionModeFlags; |
153 | imported TwoColors; |
154 | imported BuilderPriority; |
155 | imported TwoNodes; |
156 | imported Buffer; |
157 | |
158 | class Tool; |
159 | |
160 | class SequenceOfPrsBuilder instantiates Sequence from TCollection ( PrsBuilder ); |
161 | |
162 | class DataMapOfIntegerColor instantiates DataMap from TCollection |
163 | ( Integer, Color from Quantity, MapIntegerHasher from TColStd ); |
164 | |
165 | class DataMapOfIntegerMaterial instantiates DataMap from TCollection |
166 | ( Integer, MaterialAspect from Graphic3d, MapIntegerHasher from TColStd ); |
167 | |
168 | class DataMapOfIntegerBoolean instantiates DataMap from TCollection |
169 | ( Integer, Boolean, MapIntegerHasher from TColStd ); |
170 | |
171 | class DataMapOfIntegerOwner instantiates DataMap from TCollection |
172 | ( Integer, EntityOwner from SelectMgr, MapIntegerHasher from TColStd ); |
173 | |
174 | class DataMapOfIntegerMeshEntityOwner instantiates DataMap from TCollection |
175 | ( Integer, MeshEntityOwner from MeshVS, MapIntegerHasher from TColStd ); |
176 | |
177 | class DataMapOfIntegerAsciiString instantiates DataMap from TCollection |
178 | ( Integer, AsciiString from TCollection, MapIntegerHasher from TColStd ); |
179 | |
180 | class DataMapOfIntegerTwoColors instantiates DataMap from TCollection |
181 | ( Integer, TwoColors from MeshVS, MapIntegerHasher from TColStd ); |
182 | |
183 | class DataMapOfIntegerVector instantiates DataMap from TCollection |
184 | ( Integer, Vec from gp, MapIntegerHasher from TColStd ); |
185 | |
186 | class TwoColorsHasher instantiates MapHasher from TCollection( TwoColors ); |
187 | |
188 | class ColorHasher; |
189 | |
190 | class DataMapOfTwoColorsMapOfInteger instantiates DataMap from TCollection |
191 | ( TwoColors from MeshVS, MapOfInteger from TColStd, TwoColorsHasher ); |
192 | |
193 | class DataMapOfColorMapOfInteger instantiates DataMap from TCollection |
194 | ( Color from Quantity, MapOfInteger from TColStd, ColorHasher ); |
195 | |
196 | class Array1OfSequenceOfInteger instantiates Array1 from TCollection( SequenceOfInteger from TColStd ); |
197 | |
198 | class HArray1OfSequenceOfInteger instantiates HArray1 from TCollection |
199 | ( SequenceOfInteger from TColStd, Array1OfSequenceOfInteger ); |
200 | |
201 | class DataMapOfHArray1OfSequenceOfInteger instantiates DataMap from TCollection |
202 | ( Integer, HArray1OfSequenceOfInteger from MeshVS, MapIntegerHasher from TColStd ); |
203 | |
204 | class TwoNodesHasher instantiates MapHasher from TCollection( TwoNodes ); |
205 | |
206 | class MapOfTwoNodes instantiates Map from TCollection( TwoNodes, TwoNodesHasher ); |
207 | |
208 | end MeshVS; |