1*d1766043SAndrew Rist/**************************************************************
2cdf0e10cSrcweir *
3*d1766043SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one
4*d1766043SAndrew Rist * or more contributor license agreements.  See the NOTICE file
5*d1766043SAndrew Rist * distributed with this work for additional information
6*d1766043SAndrew Rist * regarding copyright ownership.  The ASF licenses this file
7*d1766043SAndrew Rist * to you under the Apache License, Version 2.0 (the
8*d1766043SAndrew Rist * "License"); you may not use this file except in compliance
9*d1766043SAndrew Rist * with the License.  You may obtain a copy of the License at
10*d1766043SAndrew Rist *
11*d1766043SAndrew Rist *   http://www.apache.org/licenses/LICENSE-2.0
12*d1766043SAndrew Rist *
13*d1766043SAndrew Rist * Unless required by applicable law or agreed to in writing,
14*d1766043SAndrew Rist * software distributed under the License is distributed on an
15*d1766043SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*d1766043SAndrew Rist * KIND, either express or implied.  See the License for the
17*d1766043SAndrew Rist * specific language governing permissions and limitations
18*d1766043SAndrew Rist * under the License.
19*d1766043SAndrew Rist *
20*d1766043SAndrew Rist *************************************************************/
21*d1766043SAndrew Rist
22*d1766043SAndrew Rist
23cdf0e10cSrcweir#ifndef com_sun_star_chart2_XTransformation_idl
24cdf0e10cSrcweir#define com_sun_star_chart2_XTransformation_idl
25cdf0e10cSrcweir
26cdf0e10cSrcweir#ifndef __com_sun_star_uno_XInterface_idl__
27cdf0e10cSrcweir#include <com/sun/star/uno/XInterface.idl>
28cdf0e10cSrcweir#endif
29cdf0e10cSrcweir
30cdf0e10cSrcweir#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
31cdf0e10cSrcweir#include <com/sun/star/lang/IllegalArgumentException.idl>
32cdf0e10cSrcweir#endif
33cdf0e10cSrcweir
34cdf0e10cSrcweirmodule com
35cdf0e10cSrcweir{
36cdf0e10cSrcweirmodule sun
37cdf0e10cSrcweir{
38cdf0e10cSrcweirmodule star
39cdf0e10cSrcweir{
40cdf0e10cSrcweirmodule chart2
41cdf0e10cSrcweir{
42cdf0e10cSrcweir
43cdf0e10cSrcweir    // NOTES
44cdf0e10cSrcweir
45cdf0e10cSrcweir	//... provide help for creating the right transfomation
46cdf0e10cSrcweir    //
47cdf0e10cSrcweir    // ... access to source and destination coordinate system ?
48cdf0e10cSrcweir
49cdf0e10cSrcweir/** allows the transformation of numeric values from one
50cdf0e10cSrcweir    coordinate-system into an other.  Values may be transformed using
51cdf0e10cSrcweir    any mapping.
52cdf0e10cSrcweir */
53cdf0e10cSrcweirinterface XTransformation : ::com::sun::star::uno::XInterface
54cdf0e10cSrcweir{
55cdf0e10cSrcweir    /** transforms the given input data tuple, given in the source
56cdf0e10cSrcweir        coordinate system, according to the internal transformation
57cdf0e10cSrcweir        rules, into a tuple of transformed coordinates in the
58cdf0e10cSrcweir        destination coordinate system.
59cdf0e10cSrcweir
60cdf0e10cSrcweir        <p>Note that both coordinate systems may have different
61cdf0e10cSrcweir        dimensions, e.g., if a transformation does simply a projection
62cdf0e10cSrcweir        into a lower-dimensional space.</p>
63cdf0e10cSrcweir
64cdf0e10cSrcweir        @param aValues a source tuple of data that is to be
65cdf0e10cSrcweir               transformed.  The length of this sequence must be
66cdf0e10cSrcweir               equivalent to the dimension of the source coordinate
67cdf0e10cSrcweir               system.
68cdf0e10cSrcweir
69cdf0e10cSrcweir        @return the transformed data tuple.  The length of this
70cdf0e10cSrcweir                sequence is equal to the dimension of the output
71cdf0e10cSrcweir                coordinate system.
72cdf0e10cSrcweir
73cdf0e10cSrcweir        @throws ::com::sun::star::lang::IllegalArgumentException
74cdf0e10cSrcweir               if the dimension of the input vector is not equal to the
75cdf0e10cSrcweir               dimension given in <member>getSourceDimension</member>.
76cdf0e10cSrcweir     */
77cdf0e10cSrcweir	sequence< double > transform( [in] sequence< double > aValues )
78cdf0e10cSrcweir        raises( ::com::sun::star::lang::IllegalArgumentException );
79cdf0e10cSrcweir
80cdf0e10cSrcweir    /** the dimension of the input coordinate sequence that is to be
81cdf0e10cSrcweir        transformed by the <member>transform</member> method.
82cdf0e10cSrcweir     */
83cdf0e10cSrcweir	long getSourceDimension();
84cdf0e10cSrcweir
85cdf0e10cSrcweir    /** the dimension of the output coordinate sequence that is the
86cdf0e10cSrcweir        result of the <member>transform</member> method.
87cdf0e10cSrcweir     */
88cdf0e10cSrcweir	long getTargetDimension();
89cdf0e10cSrcweir};
90cdf0e10cSrcweir
91cdf0e10cSrcweir} ; // chart2
92cdf0e10cSrcweir} ; // com
93cdf0e10cSrcweir} ; // sun
94cdf0e10cSrcweir} ; // star
95cdf0e10cSrcweir
96cdf0e10cSrcweir
97cdf0e10cSrcweir#endif
98