HOpCreateBoolean.h
1 // Copyright (c) Tech Soft 3D, Inc.
2 //
3 // The information contained herein is confidential and proprietary to Tech Soft 3D, Inc.,
4 // and considered a trade secret as defined under civil and criminal statutes.
5 // Tech Soft 3D, Inc. shall pursue its civil and criminal remedies in the event of
6 // unauthorized use or misappropriation of its trade secrets. Use of this information
7 // by anyone other than authorized employees of Tech Soft 3D, Inc. is granted only under
8 // a written non-disclosure agreement, expressly prescribing the scope and manner of such use.
9 
10 // HOpCreateBoolean.h : interface of the HOpCreateBoolean class
11 // Exposes the boolean functionality of the partviewer
12 
13 #ifndef _HOPCREATEBOOLEAN_H
14 #define _HOPCREATEBOOLEAN_H
15 
16 #ifdef H_PACK_8
17 #pragma pack(push)
18 #pragma pack(8)
19 #endif
20 
21 #include "HTools.h"
22 #include "HBaseOperator.h"
23 
24 #define BOOLEAN_TYPE_NONE 0
25 #define BOOLEAN_TYPE_INTERSECT 1
26 #define BOOLEAN_TYPE_SUBTRACT 2
27 #define BOOLEAN_TYPE_UNION 3
28 
30 
48 class MVO_API HOpCreateBoolean : public HBaseOperator
49 {
50 
51 public:
61  HOpCreateBoolean (HBaseView* view, int nBooleanType, int DoRepeat=0, int DoCapture=1);
62  virtual ~HOpCreateBoolean ();
63 
67  virtual const char * GetName();
68 
75  virtual int OnLButtonDown(HEventInfo &hevent);
76 
82  virtual HBaseOperator * Clone();
83 
84 private:
85  //the type of Boolean operation we're going to be performing
86  int m_BooleanType;
87 
88  //The keys of the two shells involved. This is necessary because the selection list
89  //stores the key of the containing segment, making it difficult to retrieve the shell again.
90  HC_KEY m_FirstSel, m_SecondSel;
91 
92  //This method perform selection handling. This is a slightly modified version of what is in HOpSelectAperture.
93  void HandleSelection(HEventInfo &event);
94 };
95 
96 #ifdef H_PACK_8
97 #pragma pack(pop)
98 #endif
99 
100 #endif
101 
102 
103 
104 
virtual const char * GetName()
The HOpCreateBoolean class allows to perform the binary operations intersect, subtract and union on t...
Definition: HOpCreateBoolean.h:48
virtual HBaseOperator * Clone()
The HBaseOperator class serves as a base for classes which handle user input and operate on the scene...
Definition: HBaseOperator.h:60
The HBaseView class defines and manages a view of model information.
Definition: HBaseView.h:332
The HEventInfo class stores and manages event information.
Definition: HEventInfo.h:207
virtual int OnLButtonDown(HEventInfo &hevent)