Integration of OCCT 6.5.0 from SVN
[occt.git] / src / AIS2D / AIS2D_ProjShape.cdl
1 -- File     : AIS2D_ProjShape.cdl
2 -- Created  : April  2000
3 -- Author   : Tanya COOL
4 ---Copyright: Matra Datavision 2000
5
6 class ProjShape from AIS2D inherits InteractiveObject from AIS2D
7  
8  ---Purpose: Constructs presentable and selectable projection of 
9  --          TopoDS_Shape on the view plane
10
11 uses
12
13   Shape                 from TopoDS,
14   Line                  from Graphic2d,
15   ListOfShape           from TopTools,
16   Projector             from HLRAlgo,
17   Algo                  from HLRBRep,
18   PolyAlgo              from HLRBRep,
19   SetOfSegments         from Graphic2d,
20   SetOfCurves           from GGraphic2d
21
22 is 
23
24   Create returns mutable ProjShape from AIS2D;
25   ---Purpose: Initializes the projected shape 
26
27   Create( aProjector: Projector from HLRAlgo; 
28           nbIsos: Integer from Standard = 3;
29           isPolyAlgo: Boolean from Standard = Standard_False; 
30                   visHL: Boolean from Standard = Standard_True ) 
31      returns mutable ProjShape from AIS2D;
32   ---Purpose: Initializes the projected shape with projector <aProjector>, number isolines <nbIsos>
33
34   Add( me: mutable; aShape: Shape from TopoDS );
35   ---Level: Public
36   ---Purpose: Adds <aShape> to the list of projected shapes. 
37
38   SetProjector( me: mutable; aProjector: Projector from HLRAlgo );
39   ---Level: Public
40   ---Purpose: sets the projector <aProjector>
41
42   Projector( me ) returns Projector from HLRAlgo;
43   ---Level: Public
44   ---Purpose: Indicates the projector
45
46   SetNbIsos( me: mutable; aNbIsos: Integer from Standard );
47   ---Level: Internal
48   ---Purpose: 
49
50   SetPolyAlgo( me: mutable; aIsPoly: Boolean from Standard = Standard_False );
51   ---Level: Internal
52   ---Purpose: sets the projection of the shape as a polyhedral 
53   --          simplification of the shape if <aIsPoly> is True
54
55   SetHLMode( me: mutable; aIsHLM: Boolean from Standard = Standard_True );
56   ---Level: Internal
57   ---Purpose: Sets the hidden line mode if <aIsHLM> is True
58
59   IsHLMode( me ) returns Boolean from Standard;
60   ---Level: Public
61   ---Purpose: Indicates the hidden lines are visible
62
63   GetNbIsos( me ) returns Integer from Standard;
64   ---Level: Public
65   ---Purpose: Indicates the number of isolines
66
67   GetIsPoly( me ) returns Boolean from Standard;
68   ---Level: Public
69   ---Purpose: Indicates the shape was extracted as Algo or PolyAlgo
70
71   GetPrimitives( me ) returns Line from Graphic2d;
72   ---Level: Internal
73   ---Purpose: Returns the set of primitives are included into Shape, 
74   --          except hidden lines
75
76   GetHLPrimitives( me ) returns Line from Graphic2d;
77   ---Level: Internal
78   ---Purpose: Returns the set of hidden line primitives are included into Shape 
79
80   ShowEdges( me: mutable; 
81    aSharp, aSmooth, aSewn, anOutline, anIsoline: Boolean from Standard = Standard_True ); 
82   ---Level: Public
83   ---Purpose: Sets the flags for display of all types of edges
84
85
86   ----------------------------------------------------------------------------
87   ---Category: Private methods
88  
89   CreateAlgo( me: mutable ) is private;
90   CreatePolyAlgo( me: mutable ) is private;
91   DrawSegments( me: mutable; aShape: Shape from TopoDS; 
92                 aSofS: in out SetOfSegments from Graphic2d ) is private; 
93   DrawCurves( me: mutable; aShape: Shape from TopoDS;
94               aSofC: in out SetOfCurves from GGraphic2d ) is private; 
95    
96   ComputeShape( me: mutable ) is private;
97  
98 fields 
99
100   myListOfShape    : ListOfShape   from TopTools;
101   myProjector      : Projector     from HLRAlgo;
102   myAlgo           : Algo          from HLRBRep;
103   myPolyAlgo       : PolyAlgo      from HLRBRep;
104   myNbIsos         : Integer       from Standard;
105   myIsPolyAlgo     : Boolean       from Standard;
106   myIsHiddenLine   : Boolean       from Standard;
107   myESharp         : Boolean       from Standard;
108   myESmooth        : Boolean       from Standard;
109   myESewn          : Boolean       from Standard;
110   myEOutline       : Boolean       from Standard;
111   myEIsoline       : Boolean       from Standard;
112
113   mySetOfSegments  : SetOfSegments from Graphic2d;
114   myHSetOfSegments : SetOfSegments from Graphic2d;
115   mySetOfCurves    : SetOfCurves   from GGraphic2d;
116   myHSetOfCurves   : SetOfCurves   from GGraphic2d;
117                                                                            
118 end ProjShape;