1 -- Created on: 2000-06-20
2 -- Created by: Sergey MOZOKHIN
3 -- Copyright (c) 2000-2014 OPEN CASCADE SAS
5 -- This file is part of Open CASCADE Technology software library.
7 -- This library is free software; you can redistribute it and/or modify it under
8 -- the terms of the GNU Lesser General Public License version 2.1 as published
9 -- by the Free Software Foundation, with special exception defined in the file
10 -- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
11 -- distribution for complete text of the license and disclaimer of any warranty.
13 -- Alternatively, this file may be used under the terms of Open CASCADE
14 -- commercial license or contractual agreement.
16 class Writer from VrmlAPI
18 ---Purpose: Creates and writes VRML files from Open
19 -- CASCADE shapes. A VRML file can be written to
20 -- an existing VRML file or to a new one.
24 Drawer from VrmlConverter,
25 Projector from VrmlConverter,
28 HArray1OfColor from Quantity,
29 RepresentationOfShape from VrmlAPI
31 Create returns Writer from VrmlAPI;
32 ---Purpose: Creates a writer object with default parameters.
33 ResetToDefaults(me : in out);
34 ---Purpose: Resets all parameters (representation, deflection)
35 -- to their default values..
37 Drawer(me) returns Drawer from VrmlConverter;
38 ---Purpose: Returns drawer object
40 SetDeflection(me : in out; aDef : Real from Standard);
41 ---Purpose: Sets the deflection aDef of
42 -- the mesh algorithm which is used to compute the shaded
43 -- representation of the translated shape. The default
44 -- value is -1. When the deflection value is less than
45 -- 0, the deflection is calculated from the relative
46 -- size of the shaped.
48 SetRepresentation(me : in out; aRep : RepresentationOfShape from VrmlAPI);
49 ---Purpose: Sets the representation of the
50 -- shape aRep which is written to the VRML file. The three options are :
53 -- - both shaded and wireframe (default)
54 -- defined through the VrmlAPI_RepresentationOfShape enumeration.
56 SetTransparencyToMaterial(me : in out; aMaterial : in out Material from Vrml;
57 aTransparency : Real from Standard);
58 ---Purpose: Set transparency to given material
60 SetShininessToMaterial(me : in out; aMaterial : in out Material from Vrml;
61 aShininess : Real from Standard);
62 SetAmbientColorToMaterial(me : in out ; aMaterial : in out Material from Vrml;
63 Color : HArray1OfColor from Quantity);
64 SetDiffuseColorToMaterial(me : in out ; aMaterial : in out Material from Vrml;
65 Color : HArray1OfColor from Quantity);
66 SetSpecularColorToMaterial(me : in out; aMaterial : in out Material from Vrml;
67 Color : HArray1OfColor from Quantity);
68 SetEmissiveColorToMaterial(me : in out ; aMaterial : in out Material from Vrml;
69 Color : HArray1OfColor from Quantity);
70 ----------------- Returns fields of class --------------------------------------
71 GetRepresentation(me) returns RepresentationOfShape from VrmlAPI;
72 ---Purpose: Returns the representation of the shape which is
73 -- written to the VRML file. Types of representation are set through the
74 -- VrmlAPI_RepresentationOfShape enumeration.
75 GetFrontMaterial(me) returns Material from Vrml;
76 GetPointsMaterial(me) returns Material from Vrml;
77 GetUisoMaterial(me) returns Material from Vrml;
78 GetVisoMaterial(me) returns Material from Vrml;
79 GetLineMaterial(me) returns Material from Vrml;
80 GetWireMaterial(me) returns Material from Vrml;
81 GetFreeBoundsMaterial(me) returns Material from Vrml;
82 GetUnfreeBoundsMaterial(me) returns Material from Vrml;
84 Write(me; aShape : Shape from TopoDS; aFile : CString from Standard);
85 ---Purpose: Converts the shape aShape to
86 -- VRML format and writes it to the file identified by aFile.
89 myRepresentation : RepresentationOfShape from VrmlAPI;
90 myDrawer : Drawer from VrmlConverter;
91 myDeflection : Real from Standard;
92 myPerespectiveCamera : Projector from VrmlConverter;
93 myOrthographicCamera : Projector from VrmlConverter;
94 myTransparency : Real;
96 myFrontMaterial : Material from Vrml;
97 myPointsMaterial : Material from Vrml;
98 myUisoMaterial : Material from Vrml;
99 myVisoMaterial : Material from Vrml;
100 myLineMaterial : Material from Vrml;
101 myWireMaterial : Material from Vrml;
102 myFreeBoundsMaterial : Material from Vrml;
103 myUnfreeBoundsMaterial : Material from Vrml;
105 DX : Length from Quantity;
106 DY : Length from Quantity;
107 DZ : Length from Quantity;
108 --High Point Direction
109 XUp : Length from Quantity;
110 YUp : Length from Quantity;
111 ZUp : Length from Quantity;
113 Focus : Length from Quantity;