Alphabetical Class Index  Class Hierarchy   File Members   Compound Members   File List  

HOpNetwork.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 // $Id: 1496a2047c8fc482c108b17b0243d413989e15f2 $
00013 //
00014 
00015 
00016 #ifndef _HOpNetwork_H
00017 #define _HOpNetwork_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 #include "HBaseView.h"
00027 
00029 
00040 class MVO_API HOpNetwork : public HBaseOperator
00041 {
00042 public:
00046     HOpNetwork(HBaseView * view);
00047 
00048     virtual ~HOpNetwork();
00049 
00054     virtual int OnLButtonDown(HEventInfo &hevent);
00055 
00060     virtual int OnLButtonDownAndMove(HEventInfo &hevent);
00061 
00066     virtual int OnLButtonUp(HEventInfo &hevent);
00067 
00068 
00073     virtual int OnRButtonDown(HEventInfo &hevent);
00074 
00079     virtual int OnRButtonDownAndMove(HEventInfo &hevent);
00080 
00086     virtual int OnRButtonUp(HEventInfo &hevent);
00087 
00088 
00089 protected:
00090     
00091     HC_KEY m_NetworkKey;            //< The key to the network segment.
00092     HC_KEY m_NodesKey;              //< The key to the node segment where all the nodes are inserted.
00093     HC_KEY m_SelectedNodeKey;       //< The current selected node.
00094     HC_KEY m_SelectedLineKey;       //< The current selected connection.
00095 
00105     HC_KEY My_KInsert_Line(float x1, float y1, float z1, float x2, float y2, float z2);
00106 
00117     void My_Line_Common(HC_KEY key, float x1, float y1, float z1, float x2, float y2, float z2);
00118 
00128     void My_Edit_Line(HC_KEY key, float x1, float y1, float z1, float x2, float y2, float z2);
00129 
00133     void My_Delete_Line(HC_KEY key);
00134 
00141     HC_KEY My_KInsert_Node(float x, float y, float z);
00142 
00149     void My_Edit_Node(HC_KEY key, float x, float y, float z);
00150 
00157     void Show_Node_Position(HC_KEY key, float &x, float &y, float &z);
00158 
00160     HC_KEY Get_Node_Key(HC_KEY key);
00161 
00165     void My_Open_Node(HC_KEY key);
00166 
00170     void My_Close_Node();
00171 
00176     HC_KEY My_Renumber_Key(HC_KEY key);
00177 
00179     HC_KEY GetNextKey();
00180 
00181 };
00182 
00183 
00184 #ifdef H_PACK_8
00185 #pragma pack(pop)
00186 #endif
00187 
00188 #endif
00189 
00190 
00191 
00192 
00193 
00194 
00195