7fd59977 |
1 | // File: VrmlData_Appearance.hxx |
2 | // Created: 25.05.06 15:30:58 |
3 | // Author: Alexander GRIGORIEV |
4 | // Copyright: Open Cascade 2006 |
5 | |
6 | |
7 | #ifndef VrmlData_Appearance_HeaderFile |
8 | #define VrmlData_Appearance_HeaderFile |
9 | |
10 | #include <VrmlData_Material.hxx> |
11 | #include <VrmlData_Texture.hxx> |
12 | #include <VrmlData_TextureTransform.hxx> |
13 | |
14 | /** |
15 | * Implementation of the Appearance node type |
16 | */ |
17 | class VrmlData_Appearance : public VrmlData_Node |
18 | { |
19 | public: |
20 | // ---------- PUBLIC METHODS ---------- |
21 | |
22 | /** |
23 | * Empty constructor |
24 | */ |
25 | inline VrmlData_Appearance () {} |
26 | |
27 | /** |
28 | * Constructor |
29 | */ |
30 | inline VrmlData_Appearance (const VrmlData_Scene& theScene, |
31 | const char * theName) |
32 | : VrmlData_Node (theScene, theName) {} |
33 | |
34 | /** |
35 | * Query the Material |
36 | */ |
37 | inline const Handle(VrmlData_Material)& |
38 | Material () const { return myMaterial; } |
39 | |
40 | /** |
41 | * Query the Texture |
42 | */ |
43 | inline const Handle(VrmlData_Texture)& |
44 | Texture () const { return myTexture; } |
45 | |
46 | /** |
47 | * Query the TextureTransform |
48 | */ |
49 | inline const Handle(VrmlData_TextureTransform)& |
50 | TextureTransform () const { return myTTransform; } |
51 | |
52 | /** |
53 | * Set the Material |
54 | */ |
55 | inline void SetMaterial (const Handle(VrmlData_Material)& theMat) |
56 | { myMaterial = theMat; } |
57 | |
58 | /** |
59 | * Set the Texture |
60 | */ |
61 | inline void SetTexture (const Handle(VrmlData_Texture)& theTexture) |
62 | { myTexture = theTexture; } |
63 | |
64 | /** |
65 | * Set the Texture Transform |
66 | */ |
67 | inline void SetTextureTransform |
68 | (const Handle(VrmlData_TextureTransform)& theTT) |
69 | { myTTransform = theTT; } |
70 | |
71 | /** |
72 | * Create a copy of this node. |
73 | * If the parameter is null, a new copied node is created. Otherwise new node |
74 | * is not created, but rather the given one is modified.<p> |
75 | */ |
76 | Standard_EXPORT virtual Handle(VrmlData_Node) |
77 | Clone (const Handle(VrmlData_Node)&)const; |
78 | /** |
79 | * Read the node from input stream. |
80 | */ |
81 | Standard_EXPORT virtual VrmlData_ErrorStatus |
82 | Read (VrmlData_InBuffer& theBuffer); |
83 | |
84 | /** |
85 | * Write the Node from input stream. |
86 | */ |
87 | Standard_EXPORT virtual VrmlData_ErrorStatus |
88 | Write (const char * thePrefix) const; |
89 | |
90 | /** |
91 | * Returns True if the node is default, so that it should not be written. |
92 | */ |
93 | Standard_EXPORT virtual Standard_Boolean |
94 | IsDefault () const; |
95 | |
96 | protected: |
97 | // ---------- PROTECTED METHODS ---------- |
98 | |
99 | |
100 | |
101 | private: |
102 | // ---------- PRIVATE FIELDS ---------- |
103 | |
104 | Handle(VrmlData_Material) myMaterial; |
105 | Handle(VrmlData_Texture) myTexture; |
106 | Handle(VrmlData_TextureTransform) myTTransform; |
107 | |
108 | public: |
109 | // Declaration of CASCADE RTTI |
110 | DEFINE_STANDARD_RTTI (VrmlData_Appearance) |
111 | }; |
112 | |
113 | // Definition of HANDLE object using Standard_DefineHandle.hxx |
114 | DEFINE_STANDARD_HANDLE (VrmlData_Appearance, VrmlData_Node) |
115 | |
116 | #endif |