Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members  

HxCorbaBSplineCurve.idl

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

Generated on Tue Jan 8 13:55:43 2002 for IDLReference by doxygen1.2.12 written by Dimitri van Heesch, © 1997-2001