Horus Doc || IDL Reference || C++ Binding   Java Binding || Doxygen's quick Index  

HxCorbaBSplineCurve.idl

Go to the documentation of this file.
00001 /*
00002  *  Copyright (c) 2000, University of Amsterdam, The Netherlands.
00003  *  All rights reserved.
00004  *
00005  *  Author(s):
00006  *  Marc Navarro            (mnavarro@wins.uva.nl)
00007  */
00008 
00009 #ifndef HxCorbaBSplineCurve_idl
00010 #define HxCorbaBSplineCurve_idl
00011 
00012 #include "HxCorbaPolyline2d.idl"
00013 
00014 module HxCorba
00015 {
00016 
00018 enum BSplineType { CLOSED, OPEN, OPEN_REPEAT_END_POINTS };
00019 
00020 
00022 interface BSplineCurve
00023 {
00024     BSplineType             curveType();
00025 
00026     long                    degree();
00027     double                  minT();
00028     double                  maxT();
00029     PointR2                 C(in double t);
00030     Polyline2d              sampleC(in long np);
00031     double                  length(in long np);
00032 
00033     Polyline2d              controlP();
00034     PointR2                 center();
00035     long                    numP();
00036     PointR2                 P(in long i);
00037     PointR2Seq              allP();
00038 };
00039 
00040 
00042 interface SampledBSplineCurve
00043 {
00044     BSplineCurve            continuousCurve();
00045 
00046     long                    nSamples();
00047 
00048     Polyline2d              CPoly();
00049     PointR2                 C(in long i);
00050     PointR2Seq              allC();
00051 
00052     double                  length();
00053 
00054     Polyline2d              controlP();
00055     long                    numP();
00056     PointR2Seq              allP();
00057 };
00058 
00059 
00061 interface BSplineFactory
00062 {
00063     BSplineCurve            makeUniformBSpline(in Polyline2d cp, in long degree);
00064     BSplineCurve            makeInterpolatingBSpline(in Polyline2d cp);
00065 
00066     SampledBSplineCurve     makeUniformSampledBSpline(in Polyline2d cp,
00067                                 in long degree, in double distance);
00068     SampledBSplineCurve     makeInterpolatingSampledBSpline(
00069                                 in Polyline2d cp, in double distance);
00070 };
00071 
00072 }; // module HxCorba
00073 
00074 #endif //HxCorbaBSplineCurve_idl

Generated on Mon Jan 27 15:09:38 2003 for IDLReference by doxygen1.2.12 written by Dimitri van Heesch, © 1997-2001