![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /***************************************************************************** 00002 * Copyright (c) 2008 MAK Technologies, Inc. 00003 * All rights reserved. 00004 *****************************************************************************/ 00005 /***************************************************************************** 00006 * $RCSfile: DtPropsLogic.h,v $ $Revision: 1.16 $ $State: Exp $ 00007 *****************************************************************************/ 00008 00012 00013 #pragma once 00014 00015 #include <vrvCoreQt/vrvCoreQt.h> 00016 #include <vrvCoreQt/DtPropsInterface.h> 00017 #include <vrvCore/DtSelectionManager.h> 00018 00019 namespace makVrv 00020 { 00021 00022 class DtDe; 00023 class DtProp; 00024 class DtSelectionManager; 00025 00028 class DT_DLL_VRVCOREQT DtPropsLogic 00029 { 00030 public: 00031 00033 DtPropsLogic( DtDe& de, DtPropsInterface& iFace); 00034 00036 ~DtPropsLogic(); 00037 00038 protected: 00039 00041 void populate(); 00042 00044 void slot_propTypeAdded(const std::string& propType); 00045 00047 void slot_propTypeRemoved(const std::string& propType); 00048 00050 void slot_propCreated(DtProp& prop); 00051 00053 void slot_propDestroyed(const DtProp& prop); 00054 00056 void slot_selectionChanged(const DtPropsInterface::UniqueIdSet& idSet); 00057 00059 void updateGuiWithSelectedProp(); 00060 00062 void updatePositionAndUnits(); 00063 00065 void updateOrientationAndUnits(); 00066 00068 void slot_removePropsBtnClicked(); 00069 00071 void slot_opacityChanged(int opacity); 00072 00074 void slot_visibilityChanged(int visibility); 00075 00077 void slot_propTypeChanged(const std::string& propType); 00078 00080 void slot_modelDefinitionChanged(const std::string& modelDef); 00081 00083 void slot_externalSelectionChanged( 00084 const DtSelectionManager::IdSet& selected, 00085 const DtSelectionManager::IdSet& deselected ); 00086 00088 void slot_positionChanged( const double x, 00089 const double y, const double z ); 00090 00092 void slot_orientationChanged( const double yaw, 00093 const double pitch, const double roll ); 00094 00095 void slot_displayUnitChanged( int type, int unit ); 00096 00097 void slot_displayUnitDecimalsChanged( int type, int unit, int decimals ); 00098 00100 int selectedOpacity(); 00101 00106 int selectedVisibility(); 00107 00109 std::string selectedPropType(); 00110 00112 std::string selectedModelDefinition(); 00113 00117 bool getSelectedOrientation(double& xOut, double& yOut, double& zOut); 00118 00121 bool getSelectedPosition(double& xOut, double& yOut, double& zOut ); 00122 00123 protected: 00124 00125 DtDe& myDe; 00126 DtPropsInterface& myGui; 00127 DtSignalConnectionManager mySignals; 00128 DtPropsInterface::UniqueIdSet mySelectedPropIds; 00129 bool myUpdatingSelectionManager; 00130 00131 }; 00132 00133 }