7fd59977 |
1 | -- File: ShapeUpgrade_ShapeDivide.cdl |
2 | -- Created: Mon Apr 26 17:54:01 1999 |
3 | -- Author: Pavel DURANDIN |
4 | -- <pdn@friendox.nnov.matra-dtv.fr> |
5 | ---Copyright: Matra Datavision 1999 |
6 | |
7 | class ShapeDivide from ShapeUpgrade |
8 | |
9 | ---Purpose: Divides a all faces in shell with given criteria Shell. |
10 | |
11 | uses |
12 | Shape from TopoDS, |
13 | Status from ShapeExtend, |
14 | ReShape from ShapeBuild, |
15 | FaceDivide from ShapeUpgrade |
16 | |
17 | is |
18 | Create returns ShapeDivide from ShapeUpgrade; |
19 | ---Purpose: |
20 | |
21 | Create (S: Shape from TopoDS) |
22 | returns ShapeDivide from ShapeUpgrade; |
23 | ---Purpose: Initialize by a Shape. |
24 | |
25 | Init (me: in out; S: Shape from TopoDS); |
26 | ---Purpose: Initialize by a Shape. |
27 | |
28 | Delete(me:out) is virtual; |
29 | ---C++: alias "Standard_EXPORT virtual ~ShapeUpgrade_ShapeDivide(){Delete();}" |
30 | |
31 | SetPrecision (me: in out; Prec: Real); |
32 | ---Purpose: Defines the spatial precision used for splitting |
33 | |
34 | SetMaxTolerance(me: in out; maxtol: Real); |
35 | ---Purpose: Sets maximal allowed tolerance |
36 | |
37 | SetMinTolerance (me: in out; mintol: Real); |
38 | ---Purpose: Sets minimal allowed tolerance |
39 | |
40 | SetSurfaceSegmentMode(me: in out; Segment: Boolean); |
41 | ---Purpose: Purpose sets mode for trimming (segment) surface by |
42 | -- wire UV bounds. |
43 | |
44 | Perform (me: in out; newContext: Boolean = Standard_True) |
45 | returns Boolean is virtual; |
46 | ---Purpose: Performs splitting and computes the resulting shape |
47 | -- If newContext is True (default), the internal context |
48 | -- will be cleared at start, else previous substitutions |
49 | -- will be acting. |
50 | |
51 | Result (me) returns Shape from TopoDS; |
52 | ---Purpose: Gives the resulting Shape, or Null shape if not done. |
53 | |
54 | GetContext (me) returns ReShape from ShapeBuild; |
55 | ---Purpose: Returns context with all the modifications made during |
56 | -- last call(s) to Perform() recorded |
57 | |
58 | SetContext (me: in out; context: ReShape from ShapeBuild); |
59 | ---Purpose: Sets context with recorded modifications to be applied |
60 | -- during next call(s) to Perform(shape,Standard_False) |
61 | |
62 | Status (me; status: Status from ShapeExtend) returns Boolean; |
63 | ---Purpose: Queries the status of last call to Perform |
64 | -- OK : no splitting was done (or no call to Perform) |
65 | -- DONE1: some edges were splitted |
66 | -- DONE2: surface was splitted |
67 | -- FAIL1: some errors occured |
68 | |
69 | ---Level: Internal |
70 | |
71 | SetSplitFaceTool (me: in out; splitFaceTool: FaceDivide from ShapeUpgrade); |
72 | ---Purpose: Sets the tool for splitting faces. |
73 | |
74 | GetSplitFaceTool (me) returns FaceDivide from ShapeUpgrade |
75 | is virtual protected; |
76 | ---Purpose: Returns the tool for splitting faces. |
77 | |
78 | SetEdgeMode(me: in out; aEdgeMode : Integer); |
79 | ---Purpose:Sets mode for splitting 3d curves from edges. |
80 | -- 0 - only curve 3d from free edges. |
81 | -- 1 - only curve 3d from shared edges. |
82 | -- 2 - all curve 3d. |
83 | |
84 | fields |
85 | |
86 | mySplitFaceTool: FaceDivide from ShapeUpgrade; |
87 | myContext : ReShape from ShapeBuild is protected; |
88 | myShape : Shape from TopoDS is protected; |
89 | myResult : Shape from TopoDS is protected; |
90 | myPrecision : Real is protected; |
91 | myMinTol : Real is protected; |
92 | myMaxTol : Real is protected; |
93 | mySegmentMode: Boolean is protected; |
94 | myStatus : Integer is protected; |
95 | myEdgeMode: Integer is protected; |
96 | |
97 | end ShapeDivide; |
98 | |