00001 #ifndef __GU_Polyspline_h__
00002 #define __GU_Polyspline_h__
00003
00004 #include "GU_API.h"
00005 typedef enum GU_PolysplineBasisType {
00006 GU_SPLINE_BASIS_BEZIER = 0,
00007 GU_SPLINE_BASIS_SBEZIER = 1,
00008 GU_SPLINE_BASIS_C1BEZIER = 2,
00009 GU_SPLINE_BASIS_DEGREE2 = 3,
00010 GU_SPLINE_BASIS_BSPLINE = 4,
00011 GU_SPLINE_BASIS_CARDINAL = 5,
00012 GU_SPLINE_BASIS_LINEAR = 6
00013 } enum_polysplinebasistype;
00014
00015 typedef enum GU_PolysplineDivideType {
00016 GU_SPLINE_DIVIDE_STANDARD = 0,
00017 GU_SPLINE_DIVIDE_EVENLEN = 1,
00018 GU_SPLINE_DIVIDE_EVENX = 2,
00019 GU_SPLINE_DIVIDE_EVENY = 3,
00020 GU_SPLINE_DIVIDE_EVENZ = 4
00021 } enum_polysplinedividetype;
00022
00023 typedef enum GU_PolysplineClosureType {
00024 GU_SPLINE_CLOSURE_NONE = 0,
00025 GU_SPLINE_CLOSURE_ALWAYS = 1,
00026 GU_SPLINE_CLOSURE_IFPOLY = 2
00027 } enum_polysplineclosuretype;
00028
00029
00030 class GU_Detail;
00031
00032 class GU_API GU_PolysplineParms {
00033 public:
00034
00035 GU_PolysplineBasisType basis;
00036 GU_PolysplineDivideType divide;
00037 GU_PolysplineClosureType closure;
00038
00039 int edgeDivs;
00040 int polyDivs;
00041 float segSize;
00042
00043 int first;
00044 int last;
00045 float tension;
00046
00047 };
00048
00049 #endif
00050