summaryrefslogtreecommitdiff
path: root/src/Image/Image.cdl
blob: 2a89e30b66c2d73566bc808c74cb631b3b4eb96e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
-- File:	Image.cdl
-- Created:	Tue Jul 27 18:51:28 1993
-- Author:	Jean Louis FRENKEL
--		<jlf@sparc3>
---Copyright:	 Matra Datavision 1993

package Image

	---Purpose: The package Image provide PseudoColorImage and ColorImage
	--		definition and a set of key functions from the fields
	--		of image.

uses

    TCollection,
    TColStd,
    Aspect,
    Quantity,
    gp,
    MMgt

is
       ------------------------
        ---Category: The classes
        ------------------------

    deferred class Image;

    class PixelInterpolation;
    class AveragePixelInterpolation;
    class BalancedPixelInterpolation;
    class PlanarPixelInterpolation;
    class BilinearPixelInterpolation;
	---Purpose : Several methods to compute Pixel on non-integer Image
	--		coordinate.
    
    private generic class GPixelField;
	---Purpose : Generic Image definition . 

    deferred generic class GImage, PixelRow, PixelField;
	---Purpose : Generic Image definition . 

    deferred class DColorImage 
	instantiates GImage from Image (ColorPixel from Aspect);
	---Purpose : instantiates GImage for ColorImage definition . 

    deferred class DIndexedImage 
	instantiates GImage from Image (IndexPixel from Aspect);
	---Purpose : instantiates GImage for PseudoColorImage definition . 

    class PseudoColorImage;
	---Purpose : PseudoColorImage definition . 

    class ColorImage;
	---Purpose : ColorImage definition . 

    class Convertor;
    	---Purpose: converts aPseudoColorImage to a ColorImage and vice-versa.

    class ColorPixelMapHasher instantiates 
	MapHasher from TCollection( ColorPixel from Aspect );

    class ColorPixelDataMap instantiates
	DataMap   from TCollection ( ColorPixel from Aspect,
				     Integer    from Standard,
				     ColorPixelMapHasher from Image ) ;

    class IndexPixelMapHasher instantiates 
	MapHasher from TCollection( IndexPixel from Aspect );

    class LookupTable instantiates
	DataMap   from TCollection( IndexPixel from Aspect,
				    IndexPixel from Aspect,
				    IndexPixelMapHasher );

    class PixMap;
    ---Purpose: Aspect_PixMap implementation.

        -----------------------------
	---Category: Imported types:
        -----------------------------

	imported PixelAddress;

    imported HPrivateImage;

    imported CRawBufferData;

        -----------------------------
        ---Category: The Enumerations
        -----------------------------

    enumeration FlipType is 	FT_HORIZONTAL, 
				FT_VERTICAL, 
				FT_MAINDIAGONAL, 
				FT_ANTIDIAGONAL,
				FT_CENTER,
				FT_90,
				FT_180,
				FT_270
    end FlipType ;
    	---Purpose: Type of orientation in a symmetry.
    	-- - FT_HORIZONTAL : symmetry with respect to an horizontal axis.
    	-- - FT_VERTICAL : symmetry with respect to a vertical axis.
    	-- - FT_MAINDIAGONAL : symmetry with respect to a
    	--   diagonal oriented at 45 degrees.
    	-- - FT_ANTIDIAGONAL : symmetry with respect to a
    	--   diagonal oriented at -45 degrees.
    	-- - FT_CENTER :
    	-- - FT_90 : rotation of 90 degrees.
    	-- - FT_180 : rotation of 180 degrees.
    	-- - FT_270 : rotation of -90 degrees.
        
    enumeration DitheringMethod is	DM_NearestColor,
					DM_ErrorDiffusion
    end DitheringMethod ;
    	---Purpose: Type of dithering method.
    
    enumeration TypeOfImage is	TOI_ColorImage,
                TOI_PseudoColorImage,
                TOI_RGB,
                TOI_RGBA,
                TOI_RGBF,
                TOI_RGBAF,
                TOI_FLOAT
    end TypeOfImage ;

    Zoom     ( aImage         : mutable Image from Image ;
	       aInterpolation : PixelInterpolation from Image;
	       aCoefX,aCoefY  : in Real from Standard ) ;
	---Purpose : Zoom an Image with a specific PixelInterpolation method.

    Zoom     ( aImage         : mutable Image from Image ;
	       aCoefX,aCoefY  : in Real from Standard ) ;
	---Purpose : Zoom an Image with the default PixelInterpolation method.

    Rotate   ( aImage         : mutable Image from Image ;
	       aInterpolation : PixelInterpolation from Image;
	       aAngle         : in PlaneAngle from Quantity ) ;
	---Purpose : Rotate an Image with a specific PixelInterpolation method.

    Rotate   ( aImage         : mutable Image from Image ;
	       aAngle         : in PlaneAngle from Quantity ) ;
	---Purpose : Rotate an Image with the default PixelInterpolation method.

    Translate( aImage         : mutable Image from Image ;
	       aInterpolation : PixelInterpolation from Image;
	       DX, DY         : in Real from Standard ) ;
	---Purpose : Translate an Image with a specific PixelInterpolation 
	--		method.

    Translate( aImage         : mutable Image from Image ;
	       DX, DY         : in Real from Standard ) ;
	---Purpose : Translate an Image with the default PixelInterpolation 
	--		method.

    Affine( aImage            : mutable Image from Image ;
	       aInterpolation : PixelInterpolation from Image;
	       Trsf           : in GTrsf2d from gp ) ;
	---Purpose : General transformation of an Image with a specific 
	--		PixelInterpolation method.
	--	Warning:         
	--  		Raises an exception if the matrix of the transformation 
        --  		is not inversible.


    Affine( aImage            : mutable Image from Image ;
	       Trsf           : in GTrsf2d from gp ) ;
	---Purpose : General transformation of an Image with the default 
	--		PixelInterpolation method.
	--	Warning:         
	--  		Raises an exception if the matrix of the transformation 
        --  		is not inversible.

    Affine( aImage            : mutable Image from Image ;
	       aInterpolation : PixelInterpolation from Image;
	       Trsf           : in Trsf from gp ) ;
	---Purpose : General transformation of an Image with a specific 
	--		PixelInterpolation method.
	--	Warning:         
	--  		Raises an exception if the matrix of the transformation 
        --  		is not inversible.


    Affine( aImage            : mutable Image from Image ;
	       Trsf           : in Trsf from gp ) ;
	---Purpose : General transformation of an Image with the default 
	--		PixelInterpolation method.
	--	Warning:         
	--  		Raises an exception if the matrix of the transformation 
        --  		is not inversible.

end Image;