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 // HOpCreateBoolean.h : interface of the HOpCreateBoolean class 00011 // Exposes the boolean functionality of the partviewer 00012 00013 #ifndef _HOPCREATEBOOLEAN_H 00014 #define _HOPCREATEBOOLEAN_H 00015 00016 #ifdef H_PACK_8 00017 #pragma pack(push) 00018 #pragma pack(8) 00019 #endif 00020 00021 #include "HTools.h" 00022 #include "HBaseOperator.h" 00023 00024 #define BOOLEAN_TYPE_NONE 0 00025 #define BOOLEAN_TYPE_INTERSECT 1 00026 #define BOOLEAN_TYPE_SUBTRACT 2 00027 #define BOOLEAN_TYPE_UNION 3 00028 00030 00048 class MVO_API HOpCreateBoolean : public HBaseOperator 00049 { 00050 00051 public: 00061 HOpCreateBoolean (HBaseView* view, int nBooleanType, int DoRepeat=0, int DoCapture=1); 00062 virtual ~HOpCreateBoolean (); 00063 00067 virtual const char * GetName(); 00068 00075 virtual int OnLButtonDown(HEventInfo &hevent); 00076 00082 virtual HBaseOperator * Clone(); 00083 00084 private: 00085 //the type of Boolean operation we're going to be performing 00086 int m_BooleanType; 00087 00088 //The keys of the two shells involved. This is necessary because the selection list 00089 //stores the key of the containing segment, making it difficult to retrieve the shell again. 00090 HC_KEY m_FirstSel, m_SecondSel; 00091 00092 //This method perform selection handling. This is a slightly modified version of what is in HOpSelectAperture. 00093 void HandleSelection(HEventInfo &event); 00094 }; 00095 00096 #ifdef H_PACK_8 00097 #pragma pack(pop) 00098 #endif 00099 00100 #endif 00101 00102 00103 00104