1 -- Created on: 2000-06-20
2 -- Created by: Sergey MOZOKHIN
3 -- Copyright (c) 2000-2012 OPEN CASCADE SAS
5 -- The content of this file is subject to the Open CASCADE Technology Public
6 -- License Version 6.5 (the "License"). You may not use the content of this file
7 -- except in compliance with the License. Please obtain a copy of the License
8 -- at http://www.opencascade.org and read it completely before using this file.
10 -- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
11 -- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
13 -- The Original Code and all software distributed under the License is
14 -- distributed on an "AS IS" basis, without warranty of any kind, and the
15 -- Initial Developer hereby disclaims all such warranties, including without
16 -- limitation, any warranties of merchantability, fitness for a particular
17 -- purpose or non-infringement. Please see the License for the specific terms
18 -- and conditions governing the rights and limitations under the License.
22 class Writer from VrmlAPI
24 ---Purpose: Creates and writes VRML files from Open
25 -- CASCADE shapes. A VRML file can be written to
26 -- an existing VRML file or to a new one.
30 Drawer from VrmlConverter,
31 Projector from VrmlConverter,
34 HArray1OfColor from Quantity,
35 RepresentationOfShape from VrmlAPI
37 Create returns Writer from VrmlAPI;
38 ---Purpose: Creates a writer object with default parameters.
39 ResetToDefaults(me : in out);
40 ---Purpose: Resets all parameters (representation, deflection)
41 -- to their default values..
43 Drawer(me) returns Drawer from VrmlConverter;
44 ---Purpose: Returns drawer object
46 SetDeflection(me : in out; aDef : Real from Standard);
47 ---Purpose: Sets the deflection aDef of
48 -- the mesh algorithm which is used to compute the shaded
49 -- representation of the translated shape. The default
50 -- value is -1. When the deflection value is less than
51 -- 0, the deflection is calculated from the relative
52 -- size of the shaped.
54 SetRepresentation(me : in out; aRep : RepresentationOfShape from VrmlAPI);
55 ---Purpose: Sets the representation of the
56 -- shape aRep which is written to the VRML file. The three options are :
59 -- - both shaded and wireframe (default)
60 -- defined through the VrmlAPI_RepresentationOfShape enumeration.
62 SetTransparencyToMaterial(me : in out; aMaterial : in out Material from Vrml;
63 aTransparency : Real from Standard);
64 ---Purpose: Set transparency to given material
66 SetShininessToMaterial(me : in out; aMaterial : in out Material from Vrml;
67 aShininess : Real from Standard);
68 SetAmbientColorToMaterial(me : in out ; aMaterial : in out Material from Vrml;
69 Color : HArray1OfColor from Quantity);
70 SetDiffuseColorToMaterial(me : in out ; aMaterial : in out Material from Vrml;
71 Color : HArray1OfColor from Quantity);
72 SetSpecularColorToMaterial(me : in out; aMaterial : in out Material from Vrml;
73 Color : HArray1OfColor from Quantity);
74 SetEmissiveColorToMaterial(me : in out ; aMaterial : in out Material from Vrml;
75 Color : HArray1OfColor from Quantity);
76 ----------------- Returns fields of class --------------------------------------
77 GetRepresentation(me) returns RepresentationOfShape from VrmlAPI;
78 ---Purpose: Returns the representation of the shape which is
79 -- written to the VRML file. Types of representation are set through the
80 -- VrmlAPI_RepresentationOfShape enumeration.
81 GetFrontMaterial(me) returns Material from Vrml;
82 GetPointsMaterial(me) returns Material from Vrml;
83 GetUisoMaterial(me) returns Material from Vrml;
84 GetVisoMaterial(me) returns Material from Vrml;
85 GetLineMaterial(me) returns Material from Vrml;
86 GetWireMaterial(me) returns Material from Vrml;
87 GetFreeBoundsMaterial(me) returns Material from Vrml;
88 GetUnfreeBoundsMaterial(me) returns Material from Vrml;
90 Write(me; aShape : Shape from TopoDS; aFile : CString from Standard);
91 ---Purpose: Converts the shape aShape to
92 -- VRML format and writes it to the file identified by aFile.
95 myRepresentation : RepresentationOfShape from VrmlAPI;
96 myDrawer : Drawer from VrmlConverter;
97 myDeflection : Real from Standard;
98 myPerespectiveCamera : Projector from VrmlConverter;
99 myOrthographicCamera : Projector from VrmlConverter;
100 myTransparency : Real;
102 myFrontMaterial : Material from Vrml;
103 myPointsMaterial : Material from Vrml;
104 myUisoMaterial : Material from Vrml;
105 myVisoMaterial : Material from Vrml;
106 myLineMaterial : Material from Vrml;
107 myWireMaterial : Material from Vrml;
108 myFreeBoundsMaterial : Material from Vrml;
109 myUnfreeBoundsMaterial : Material from Vrml;
111 DX : Length from Quantity;
112 DY : Length from Quantity;
113 DZ : Length from Quantity;
114 --High Point Direction
115 XUp : Length from Quantity;
116 YUp : Length from Quantity;
117 ZUp : Length from Quantity;
119 Focus : Length from Quantity;