00001 // Copyright (c) 1998-2014 by Tech Soft 3D, Inc. 00002 // 00003 // The information contained herein is confidential and proprietary to Tech Soft 3D, Inc., 00004 // and considered a trade secret as defined under civil and criminal statutes. 00005 // Tech Soft 3D, Inc. shall pursue its civil and criminal remedies in the event of 00006 // unauthorized use or misappropriation of its trade secrets. Use of this information 00007 // by anyone other than authorized employees of Tech Soft 3D, Inc. is granted only under 00008 // a written non-disclosure agreement, expressly prescribing the scope and manner of such use. 00009 00010 // HOpConstructNurbsCurve.h - interface for the HOpConstructNurbsCurve class 00011 // started GP 11/1/99 00012 00013 #ifndef _HOPConstructNURBSCURVE_H 00014 #define _HOPConstructNURBSCURVE_H 00015 00016 #ifdef H_PACK_8 00017 #pragma pack(push) 00018 #pragma pack(8) 00019 #endif 00020 00021 #include "HTools.h" 00022 #include "HOpConstructPolyline.h" 00023 00024 00026 00041 class MVO_API HOpConstructNurbsCurve : public HOpConstructPolyline 00042 { 00043 protected: 00044 int m_Degree; // The order of the nurbs curve. 00045 float* m_WeightsArray; // The array of weight values applied to the control points. 00046 float* m_KnotsArray; // The array of knot values applied to the control points. 00047 int m_StartU; 00048 int m_EndU; 00049 bool m_bFirstTimeThrough; 00050 00051 public: 00059 HOpConstructNurbsCurve(HBaseView* view, int DoRepeat=0, int DoCapture=1); 00060 virtual ~HOpConstructNurbsCurve(); 00061 00067 virtual HBaseOperator * Clone(); 00071 virtual const char * GetName(); 00072 00073 00083 virtual int OnNoButtonDownAndMove(HEventInfo &hevent); 00084 00092 virtual int OnLButtonDown(HEventInfo &hevent); 00093 00100 virtual int OnLButtonDblClk(HEventInfo &hevent); 00101 00107 virtual int OnMButtonDown(HEventInfo &hevent); 00108 }; 00109 00110 00111 #ifdef H_PACK_8 00112 #pragma pack(pop) 00113 #endif 00114 00115 #endif 00116 00117 00118