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 | |
25 | package 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.) |
47 | uses |
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 | |
69 | is |
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 | |
153 | end StdSelect; |