0023510: Integration of test grid "vis" into the new testing system
[occt.git] / src / AIS2D / AIS2D_ProjShape.cdl
CommitLineData
b311480e 1-- Created by: Tanya COOL
2-- Copyright (c) 2000-2012 OPEN CASCADE SAS
3--
4-- The content of this file is subject to the Open CASCADE Technology Public
5-- License Version 6.5 (the "License"). You may not use the content of this file
6-- except in compliance with the License. Please obtain a copy of the License
7-- at http://www.opencascade.org and read it completely before using this file.
8--
9-- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
10-- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
11--
12-- The Original Code and all software distributed under the License is
13-- distributed on an "AS IS" basis, without warranty of any kind, and the
14-- Initial Developer hereby disclaims all such warranties, including without
15-- limitation, any warranties of merchantability, fitness for a particular
16-- purpose or non-infringement. Please see the License for the specific terms
17-- and conditions governing the rights and limitations under the License.
18
7fd59977 19
20class ProjShape from AIS2D inherits InteractiveObject from AIS2D
21
22 ---Purpose: Constructs presentable and selectable projection of
23 -- TopoDS_Shape on the view plane
24
25uses
26
27 Shape from TopoDS,
28 Line from Graphic2d,
29 ListOfShape from TopTools,
30 Projector from HLRAlgo,
31 Algo from HLRBRep,
32 PolyAlgo from HLRBRep,
33 SetOfSegments from Graphic2d,
34 SetOfCurves from GGraphic2d
35
36is
37
38 Create returns mutable ProjShape from AIS2D;
39 ---Purpose: Initializes the projected shape
40
41 Create( aProjector: Projector from HLRAlgo;
42 nbIsos: Integer from Standard = 3;
43 isPolyAlgo: Boolean from Standard = Standard_False;
44 visHL: Boolean from Standard = Standard_True )
45 returns mutable ProjShape from AIS2D;
46 ---Purpose: Initializes the projected shape with projector <aProjector>, number isolines <nbIsos>
47
48 Add( me: mutable; aShape: Shape from TopoDS );
49 ---Level: Public
50 ---Purpose: Adds <aShape> to the list of projected shapes.
51
52 SetProjector( me: mutable; aProjector: Projector from HLRAlgo );
53 ---Level: Public
54 ---Purpose: sets the projector <aProjector>
55
56 Projector( me ) returns Projector from HLRAlgo;
57 ---Level: Public
58 ---Purpose: Indicates the projector
59
60 SetNbIsos( me: mutable; aNbIsos: Integer from Standard );
61 ---Level: Internal
62 ---Purpose:
63
64 SetPolyAlgo( me: mutable; aIsPoly: Boolean from Standard = Standard_False );
65 ---Level: Internal
66 ---Purpose: sets the projection of the shape as a polyhedral
67 -- simplification of the shape if <aIsPoly> is True
68
69 SetHLMode( me: mutable; aIsHLM: Boolean from Standard = Standard_True );
70 ---Level: Internal
71 ---Purpose: Sets the hidden line mode if <aIsHLM> is True
72
73 IsHLMode( me ) returns Boolean from Standard;
74 ---Level: Public
75 ---Purpose: Indicates the hidden lines are visible
76
77 GetNbIsos( me ) returns Integer from Standard;
78 ---Level: Public
79 ---Purpose: Indicates the number of isolines
80
81 GetIsPoly( me ) returns Boolean from Standard;
82 ---Level: Public
83 ---Purpose: Indicates the shape was extracted as Algo or PolyAlgo
84
85 GetPrimitives( me ) returns Line from Graphic2d;
86 ---Level: Internal
87 ---Purpose: Returns the set of primitives are included into Shape,
88 -- except hidden lines
89
90 GetHLPrimitives( me ) returns Line from Graphic2d;
91 ---Level: Internal
92 ---Purpose: Returns the set of hidden line primitives are included into Shape
93
94 ShowEdges( me: mutable;
95 aSharp, aSmooth, aSewn, anOutline, anIsoline: Boolean from Standard = Standard_True );
96 ---Level: Public
97 ---Purpose: Sets the flags for display of all types of edges
98
99
100 ----------------------------------------------------------------------------
101 ---Category: Private methods
102
103 CreateAlgo( me: mutable ) is private;
104 CreatePolyAlgo( me: mutable ) is private;
105 DrawSegments( me: mutable; aShape: Shape from TopoDS;
106 aSofS: in out SetOfSegments from Graphic2d ) is private;
107 DrawCurves( me: mutable; aShape: Shape from TopoDS;
108 aSofC: in out SetOfCurves from GGraphic2d ) is private;
109
110 ComputeShape( me: mutable ) is private;
111
112fields
113
114 myListOfShape : ListOfShape from TopTools;
115 myProjector : Projector from HLRAlgo;
116 myAlgo : Algo from HLRBRep;
117 myPolyAlgo : PolyAlgo from HLRBRep;
118 myNbIsos : Integer from Standard;
119 myIsPolyAlgo : Boolean from Standard;
120 myIsHiddenLine : Boolean from Standard;
121 myESharp : Boolean from Standard;
122 myESmooth : Boolean from Standard;
123 myESewn : Boolean from Standard;
124 myEOutline : Boolean from Standard;
125 myEIsoline : Boolean from Standard;
126
127 mySetOfSegments : SetOfSegments from Graphic2d;
128 myHSetOfSegments : SetOfSegments from Graphic2d;
129 mySetOfCurves : SetOfCurves from GGraphic2d;
130 myHSetOfCurves : SetOfCurves from GGraphic2d;
131
132end ProjShape;