0013292a337538e8bb0c7c2ee41dccbb002dd4d8
[occt.git] / src / VrmlAPI / VrmlAPI_Writer.cdl
1 -- Created on: 2000-06-20
2 -- Created by: Sergey MOZOKHIN
3 -- Copyright (c) 2000-2014 OPEN CASCADE SAS
4 --
5 -- This file is part of Open CASCADE Technology software library.
6 --
7 -- This library is free software; you can redistribute it and / or modify it
8 -- under the terms of the GNU Lesser General Public 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.
12 --
13 -- Alternatively, this file may be used under the terms of Open CASCADE
14 -- commercial license or contractual agreement.
15
16 class Writer from VrmlAPI 
17
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.
21
22 uses
23     Shape from TopoDS,
24     Drawer from VrmlConverter,
25     Projector from VrmlConverter,
26     Material from Vrml,
27     Length from Quantity,
28     HArray1OfColor from Quantity,
29     RepresentationOfShape from VrmlAPI
30 is
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..
36         
37     Drawer(me) returns  Drawer from VrmlConverter;  
38         ---Purpose: Returns drawer object
39     
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.
47     
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 :
51         -- -      shaded
52         -- -      wireframe
53         -- -      both shaded and wireframe (default)
54         -- defined through the VrmlAPI_RepresentationOfShape enumeration.
55         
56     SetTransparencyToMaterial(me : in out; aMaterial : in out Material from Vrml;
57                              aTransparency : Real  from  Standard);
58         ---Purpose: Set transparency to given material          
59     
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;
83     
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.
87         
88 fields
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;
95     myShininess : 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;
104     --Projection Vector
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;
112     --Focus
113     Focus : Length from Quantity;
114 end Writer;