00001 /* 00002 * PROPRIETARY INFORMATION. This software is proprietary to 00003 * Side Effects Software Inc., and is not to be reproduced, 00004 * transmitted, or disclosed in any way without written permission. 00005 * 00006 * Produced by: 00007 * Cristin Barghiel 00008 * Side Effects Software Inc. 00009 * 20 Maud St. 00010 * Toronto, Ontario, M5V 2M5 00011 * Canada 00012 * 416-366-4607 00013 * 00014 * NAME: Geometry Library (C++) 00015 * 00016 * COMMENTS: 00017 * A class that implements forward differencing for parametric functions. 00018 * Handles orders up to GB_MAXORDER. The code does fwd. differencing on 00019 * curves. 00020 * 00021 * 00022 */ 00023 00024 00025 #ifndef __GD_FwdDiff_h__ 00026 #define __GD_FwdDiff_h__ 00027 00028 #include "GD_API.h" 00029 #include <GB/GB_FwdDiff.h> 00030 00031 class UT_Vector3; 00032 00033 class GD_API GD_FwdDiff : public GB_FwdDiff { 00034 public: 00035 // Constructor that takes the U anv V order of the functions, and 00036 // the stepsize in each parametric direction. vOrd should be 1 when 00037 // dealing with curves. 00038 GD_FwdDiff(int uOrd=4, float uIncrem=1.f, int vOrd=1, float vIncrem=1.f) 00039 : GB_FwdDiff(uOrd, uIncrem, vOrd, vIncrem) {} 00040 00041 // Trivial destructor. 00042 virtual ~GD_FwdDiff() { } 00043 00044 // Do an incremental walk of uCount x vCount steps. Read in the 00045 // derivatives and produce the corresponding points. The first walk() 00046 // is for surfaces, and the seond one for curves. 00047 void walk(unsigned uCount, unsigned crtUCount, 00048 UT_Vector3 df[GB_MAXORDER], UT_Vector3 *val); 00049 00050 protected: 00051 private: 00052 // Nothing. 00053 }; 00054 00055 #endif
1.5.9