/************************************************************** * * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. * *************************************************************/ #ifndef com_sun_star_chart2_XTransformation_idl #define com_sun_star_chart2_XTransformation_idl #ifndef __com_sun_star_uno_XInterface_idl__ #include #endif #ifndef __com_sun_star_lang_IllegalArgumentException_idl__ #include #endif module com { module sun { module star { module chart2 { // NOTES //... provide help for creating the right transfomation // // ... access to source and destination coordinate system ? /** allows the transformation of numeric values from one coordinate-system into an other. Values may be transformed using any mapping. */ interface XTransformation : ::com::sun::star::uno::XInterface { /** transforms the given input data tuple, given in the source coordinate system, according to the internal transformation rules, into a tuple of transformed coordinates in the destination coordinate system.

Note that both coordinate systems may have different dimensions, e.g., if a transformation does simply a projection into a lower-dimensional space.

@param aValues a source tuple of data that is to be transformed. The length of this sequence must be equivalent to the dimension of the source coordinate system. @return the transformed data tuple. The length of this sequence is equal to the dimension of the output coordinate system. @throws ::com::sun::star::lang::IllegalArgumentException if the dimension of the input vector is not equal to the dimension given in getSourceDimension. */ sequence< double > transform( [in] sequence< double > aValues ) raises( ::com::sun::star::lang::IllegalArgumentException ); /** the dimension of the input coordinate sequence that is to be transformed by the transform method. */ long getSourceDimension(); /** the dimension of the output coordinate sequence that is the result of the transform method. */ long getTargetDimension(); }; } ; // chart2 } ; // com } ; // sun } ; // star #endif