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