Version 5.2.6.1, tag libreoffice-5.2.6.1
[LibreOffice.git] / offapi / com / sun / star / chart2 / XTransformation.idl
blob80b655660935f4a039d775e7270d48c20814c69e
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
19 #ifndef com_sun_star_chart2_XTransformation_idl
20 #define com_sun_star_chart2_XTransformation_idl
22 #include <com/sun/star/uno/XInterface.idl>
23 #include <com/sun/star/lang/IllegalArgumentException.idl>
25 module com
27 module sun
29 module star
31 module chart2
34 // NOTES
36 //... provide help for creating the right transformation
37 // ... access to source and destination coordinate system ?
39 /** allows the transformation of numeric values from one
40 coordinate-system into an other. Values may be transformed using
41 any mapping.
43 interface XTransformation : ::com::sun::star::uno::XInterface
45 /** transforms the given input data tuple, given in the source
46 coordinate system, according to the internal transformation
47 rules, into a tuple of transformed coordinates in the
48 destination coordinate system.
50 <p>Note that both coordinate systems may have different
51 dimensions, e.g., if a transformation does simply a projection
52 into a lower-dimensional space.</p>
54 @param aValues a source tuple of data that is to be
55 transformed. The length of this sequence must be
56 equivalent to the dimension of the source coordinate
57 system.
59 @return the transformed data tuple. The length of this
60 sequence is equal to the dimension of the output
61 coordinate system.
63 @throws ::com::sun::star::lang::IllegalArgumentException
64 if the dimension of the input vector is not equal to the
65 dimension given in getSourceDimension().
67 sequence< double > transform( [in] sequence< double > aValues )
68 raises( ::com::sun::star::lang::IllegalArgumentException );
70 /** the dimension of the input coordinate sequence that is to be
71 transformed by the transform() method.
73 long getSourceDimension();
75 /** the dimension of the output coordinate sequence that is the
76 result of the transform() method.
78 long getTargetDimension();
81 } ; // chart2
82 } ; // com
83 } ; // sun
84 } ; // star
87 #endif
89 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */