0023948: Wrong intersection between a surface of revolution and a plane.
[occt.git] / src / Vrml / Vrml_SFImage.cdl
1 -- Created on: 1996-12-23
2 -- Created by: Alexander BRIVIN
3 -- Copyright (c) 1996-1999 Matra Datavision
4 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
5 --
6 -- This file is part of Open CASCADE Technology software library.
7 --
8 -- This library is free software; you can redistribute it and/or modify it under
9 -- the terms of the GNU Lesser General Public License version 2.1 as published
10 -- by the Free Software Foundation, with special exception defined in the file
11 -- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12 -- distribution for complete text of the license and disclaimer of any warranty.
13 --
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
16
17 class SFImage from Vrml inherits  TShared  from  MMgt
18
19   ---Purpose:  defines SFImage type of VRML field types.
20
21     --  SFImage  is  presented  as  three  integers  representing 
22     --  the  width,  height  and  number of components in the image per pixel, 
23     --  followed  by  width*height  hexadecimal  values  representing  the  pixels 
24     --  in  the  image,  which  is  located  in myArray .  
25     --  myArray : Array1OfInteger has  (width*height)  size.
26
27     --  Number of components in the image per pixel is enumeration SFImageNumber  from  Vrml  
28     --  One-component  image  will  have  one-bite  hexadecimal  values 
29     --  presenting  the  intensity  of  the  image 
30     --  Ex:  0xFF  is full  intensity,  0x00 is  no  intensity   
31
32     --  A  two-component  image  puts  the  intensity  in  the  first (hight)  byte 
33     --  and  the  transparency  in  the  second  (low)  byte 
34
35     --  Pixels  in  a  three-component  image  have  the  red  component  in  the  first (hight)   
36     --  byte, followed by  green  and  blue  components.  Ex:  0xFF0000  is  red.
37     --  Four-component  images  put  transparency  byte  after  red/green/blue 
38     --  Ex:  0x0000FF80  is  semi-transparent  blue.  A  value  of  1.0  is  completely transparent,  
39     --  0.0  is  completely  opaque.
40     --  
41
42     --  Each  pixel  is  actually  read  as  a  single  unsigned  number,  so  a  3-component 
43     --  pixel  with  value  "0x0000FF"  can  also  be  written  as  "0xFF"  or  "255"  (decimal).
44     --  Pixels  are  specified  from  left   to  right,  bottom  to  top 
45     --  SetValueOfPixel  sets  value for  the  pixel.  
46
47 uses
48  
49     HArray1OfInteger from TColStd, 
50     SFImageNumber   from Vrml
51
52 is
53  
54     Create returns SFImage from Vrml; 
55
56     Create ( aWidth, aHeight : Integer         from Standard; 
57              aNumber         : SFImageNumber   from Vrml; 
58              anArray         : HArray1OfInteger from TColStd)
59         returns SFImage from Vrml; 
60
61     SetWidth ( me : mutable; aWidth : Integer from Standard );
62     Width ( me )  returns Integer from Standard;
63
64     SetHeight ( me : mutable; aHeight : Integer from Standard );
65     Height ( me )  returns  Integer from Standard;
66
67     SetNumber ( me : mutable; aNumber : SFImageNumber from Vrml );
68     Number ( me )  returns SFImageNumber from Vrml;
69
70     SetArray ( me : mutable; anArray  : HArray1OfInteger from TColStd ) ;
71     Array ( me ) returns HArray1OfInteger from TColStd; 
72
73     ArrayFlag ( me ) returns Boolean from Standard; 
74
75 fields
76
77     myWidth      : Integer           from Standard;
78     myHeight     : Integer           from Standard;
79     myNumber     : SFImageNumber     from Vrml;
80     myArray      : HArray1OfInteger  from TColStd;
81     myArrayFlag  : Boolean           from Standard; 
82
83 end SFImage;