Alphabetical Class Index  Class Hierarchy   File Members   Compound Members   File List  

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