Alphabetical Class Index  Class Hierarchy   File Members   Compound Members   File List  

HOpCreateBoolean.h
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