0024157: Parallelization of assembly part of BO
[occt.git] / src / StdSelect / StdSelect.cdl
CommitLineData
b311480e 1-- Created on: 1995-03-08
2-- Created by: Mister rmi
3-- Copyright (c) 1995-1999 Matra Datavision
4-- Copyright (c) 1999-2012 OPEN CASCADE SAS
5--
6-- The content of this file is subject to the Open CASCADE Technology Public
7-- License Version 6.5 (the "License"). You may not use the content of this file
8-- except in compliance with the License. Please obtain a copy of the License
9-- at http://www.opencascade.org and read it completely before using this file.
10--
11-- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
12-- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
13--
14-- The Original Code and all software distributed under the License is
15-- distributed on an "AS IS" basis, without warranty of any kind, and the
16-- Initial Developer hereby disclaims all such warranties, including without
17-- limitation, any warranties of merchantability, fitness for a particular
18-- purpose or non-infringement. Please see the License for the specific terms
19-- and conditions governing the rights and limitations under the License.
20
7fd59977 21--Modified by ROB : Add ShapeFilters.
22-- GG : 5/10/99 BUC60576 Add Cone to TypeOfFace enum
7fd59977 23
24
25package StdSelect
26
27 ---Purpose: The StdSelect package provides the following services
28 -- - the definition of selection modes for topological shapes
29 -- - the definition of several concrete filtertandard
30 -- Selection2d.ap classes
31 -- - 2D and 3D viewer selectors.
32 -- Note that each new Interactive Object must have all
33 -- its selection modes defined.
34 -- Standard Classes is useful to build
35 -- 3D Selectable Objects, and to process
36 -- 3D Selections:
37 --
38 -- - Implementation of View Selector for dynamic selection
39 -- in Views from V3d.
40 --
41 -- - Implementation of Tool class to decompose 3D BRep Objects
42 -- into sensitive Primitives for every desired mode of selection
43 -- (selection of vertex,edges,wires,faces,...)
44 --
45 -- - Implementation of dedicated Sensitives Entities:
46 -- Text for 2D Views (linked to Specific 2D projectors.)
47uses
48 MMgt,
49 Standard,
50 TCollection,
51 TopLoc,
52 TopoDS,
53 SelectMgr,
54 TopAbs,
55 TColStd,
56 gp,
57 Select3D,
7fd59977 58 Graphic3d,Visual3d,
59 Quantity,
60 Prs3d,
7fd59977 61 V3d,
62 PrsMgr,
63 SelectBasics,
64 TopTools,
65 Bnd,
66 Geom,
67 TColgp
68
69is
70
71 enumeration TypeOfResult is TOR_SIMPLE,TOR_MULTIPLE
72 end TypeOfResult;
73 ---Purpose: Provides values for type of result.
74 -- These are used to specify whether the result is to
75 -- be simple or whether it may be multiple.
76
77 enumeration DisplayMode is DM_Wireframe,DM_Shading,DM_HLR
78 end DisplayMode;
79
80-- enumeration TypeOfFace is AnyFace,Plane,Cylinder,Sphere,Torus,Revol;
81 enumeration TypeOfFace is AnyFace,Plane,Cylinder,Sphere,Torus,Revol,Cone;
82 ---Purpose: Provides values for different types of faces. These
83 -- values are used to filter faces in frameworks inheriting
84 -- StdSelect_FaceFilter.
85
86 enumeration TypeOfEdge is AnyEdge,Line,Circle;
87 ---Purpose: Provides values for different types of edges. These
88 -- values are used to filter edges in frameworks
89 -- inheriting StdSelect_EdgeFilter.
3c982548 90
91 enumeration SensitivityMode is SM_WINDOW, SM_VIEW;
92 ---Purpose: Selection sensitivity mode. SM_WINDOW mode uses the
93 -- specified pixel tolerance to compute the sensitivity value,
94 -- SM_VIEW mode allows to define the sensitivity manually.
7fd59977 95
96
97 class ViewerSelector3d;
98 ---Purpose: Viewer Selector for a view from V3d
99 -- Accepts Only Sensitive Entities inheriting Select3D entities...
100
7fd59977 101
102
103 class BRepSelectionTool;
104 ---Purpose: gives standard selections for Shapes
105
106 class BRepOwner;
107 ---Purpose: Owner classes for BRep objects
108 -- used by BRepSelectionTool to know which entities
109 -- own the sensitive primitives created.
110 -- the hilight-unhilight methods are empty and
111 -- must be redefined by each User...
112
113
114
115
116 ---Category: Some classes...
117
118
119 class BRepHilighter;
120 ---Purpose: manages hilight of picked shapes in a ViewerSelector.
121 -- to be called after each pick of the selection...
122
123
124
125
7fd59977 126
127
128 ---Category: Shape Filters
129
130 class EdgeFilter;
131 class FaceFilter;
132 class ShapeTypeFilter;
133
134
135 ---Category: Private Classes
136
137
138 private class Prs;
139
140 private class Shape;
141
142 private class IndexedDataMapOfOwnerPrs instantiates IndexedDataMap from TCollection
143 (EntityOwner from SelectBasics,Prs from StdSelect,MapTransientHasher from TColStd);
144
145 GetProjector (aView: View from V3d) returns Projector from Select3D;
146 ---Purpose: Returns the 3D projector for the view aView.
147 SetDrawerForBRepOwner(aSelection: mutable Selection from SelectMgr;
148 aDrawer : Drawer from Prs3d);
149 ---Purpose: puts The same drawer in every BRepOwner Of SensitivePrimitive
150 -- Used Only for hilight Of BRepOwner...
151
152
153end StdSelect;