00001 // 00002 // Copyright (c) 2000 by Tech Soft 3D, LLC. 00003 // The information contained herein is confidential and proprietary to 00004 // Tech Soft 3D, LLC., and considered a trade secret as defined under 00005 // civil and criminal statutes. Tech Soft 3D shall pursue its civil 00006 // and criminal remedies in the event of unauthorized use or misappropriation 00007 // of its trade secrets. Use of this information by anyone other than 00008 // authorized employees of Tech Soft 3D, LLC. is granted only under a 00009 // written non-disclosure agreement, expressly prescribing the scope and 00010 // manner of such use. 00011 // 00012 // $Id: 7d634680a917a20298823b1ba71d383e602594f0 $ 00013 // 00014 00015 // HOpConstructNurbsCurve.h - interface for the HOpConstructNurbsCurve class 00016 // started GP 11/1/99 00017 00018 #ifndef _HOPConstructNURBSCURVE_H 00019 #define _HOPConstructNURBSCURVE_H 00020 00021 #ifdef H_PACK_8 00022 #pragma pack(push) 00023 #pragma pack(8) 00024 #endif 00025 00026 #include "HTools.h" 00027 #include "HOpConstructPolyline.h" 00028 00029 00031 00046 class MVO_API HOpConstructNurbsCurve : public HOpConstructPolyline 00047 { 00048 protected: 00049 int m_Degree; // The order of the nurbs curve. 00050 float* m_WeightsArray; // The array of weight values applied to the control points. 00051 float* m_KnotsArray; // The array of knot values applied to the control points. 00052 int m_StartU; 00053 int m_EndU; 00054 bool m_bFirstTimeThrough; 00055 00056 public: 00064 HOpConstructNurbsCurve(HBaseView* view, int DoRepeat=0, int DoCapture=1); 00065 virtual ~HOpConstructNurbsCurve(); 00066 00072 virtual HBaseOperator * Clone(); 00076 virtual const char * GetName(); 00077 00078 00088 virtual int OnNoButtonDownAndMove(HEventInfo &hevent); 00089 00097 virtual int OnLButtonDown(HEventInfo &hevent); 00098 00105 virtual int OnLButtonDblClk(HEventInfo &hevent); 00106 00112 virtual int OnMButtonDown(HEventInfo &hevent); 00113 }; 00114 00115 00116 #ifdef H_PACK_8 00117 #pragma pack(pop) 00118 #endif 00119 00120 #endif 00121 00122 00123