blob: 8539db65d6d53444e6124512992ae2963f719eac (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
|
-- File: XCAFDoc_MaterialTool.cdl
-- Created: Wed Mar 5 16:40:41 2003
-- Author: Sergey KUUL
-- <skl@friendox>
---Copyright: Matra Datavision 2003
class MaterialTool from XCAFDoc inherits Attribute from TDF
---Purpose: Provides tools to store and retrieve attributes (materials)
-- of TopoDS_Shape in and from TDocStd_Document
-- A Document is intended to hold different
-- attributes of ONE shape and it's sub-shapes
uses
Shape from TopoDS,
Label from TDF,
LabelSequence from TDF,
Document from TDocStd,
ShapeTool from XCAFDoc,
RelocationTable from TDF,
HAsciiString from TCollection
is
Create returns MaterialTool from XCAFDoc;
Set (myclass; L : Label from TDF) returns MaterialTool from XCAFDoc;
---Purpose: Creates (if not exist) MaterialTool.
GetID (myclass)
---C++: return const &
returns GUID from Standard;
---API: General structure
BaseLabel(me) returns Label from TDF;
---Purpose: returns the label under which colors are stored
ShapeTool (me: mutable) returns ShapeTool from XCAFDoc;
---Purpose: Returns internal XCAFDoc_ShapeTool tool
---C++: return const &
-- Methods for Material:
IsMaterial (me; lab: Label from TDF) returns Boolean;
---Purpose: Returns True if label belongs to a material table and
-- is a Material definition
GetMaterialLabels (me; Labels: out LabelSequence from TDF);
---Purpose: Returns a sequence of materials currently stored
-- in the material table
AddMaterial (me; aName : HAsciiString from TCollection;
aDescription : HAsciiString from TCollection;
aDensity : Real from Standard;
aDensName : HAsciiString from TCollection;
aDensValType : HAsciiString from TCollection)
returns Label from TDF;
---Purpose: Adds a Material definition to a table and returns its label
SetMaterial (me; L: Label from TDF;
MatL: Label from TDF);
---Purpose: Sets a link with GUID
SetMaterial (me; L: Label from TDF; aName : HAsciiString from TCollection;
aDescription : HAsciiString from TCollection;
aDensity : Real from Standard;
aDensName : HAsciiString from TCollection;
aDensValType : HAsciiString from TCollection);
---Purpose: Sets a link with GUID
-- Adds a Material as necessary
GetMaterial (me; MatL: Label from TDF; aName : out HAsciiString from TCollection;
aDescription : out HAsciiString from TCollection;
aDensity : out Real from Standard;
aDensName : out HAsciiString from TCollection;
aDensValType : out HAsciiString from TCollection) returns Boolean;
---Purpose: Returns Material assigned to <MatL>
-- Returns False if no such Material is assigned
GetDensityForShape (myclass; ShapeL: Label from TDF) returns Real from Standard;
---Purpose: Find referred material and return density from it
-- if no material --> return 0
ID (me)
---C++: return const &
returns GUID from Standard;
Restore (me: mutable; with : Attribute from TDF);
NewEmpty (me)
returns mutable Attribute from TDF;
Paste (me; into : mutable Attribute from TDF;
RT : mutable RelocationTable from TDF);
fields
myShapeTool: ShapeTool from XCAFDoc;
end MaterialTool;
|