1 /*=========================================================================
4 Module: $RCSfile: wxMaracasIRMView.cxx,v $
6 Date: $Date: 2009/04/01 16:16:59 $
7 Version: $Revision: 1.1 $
9 Copyright: (c) 2002, 2003
12 This software is distributed WITHOUT ANY WARRANTY; without even
13 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
14 PURPOSE. See the above copyright notice for more information.
16 =========================================================================*/
19 // EOF - wxMaracasMPR.cxx
21 #include "wxMaracasIRMView.h"
23 wxMaracasIRMView* wxMaracasIRMView::instance=NULL;
25 wxMaracasIRMView::wxMaracasIRMView( wxWindow* parent)
26 : wxPanel(parent, -1, wxDefaultPosition, wxDefaultSize){
29 irmmanager = new wxMaracasIRMViewManager();
31 wxauimanager = new wxAuiManager(this);
33 std::string iconsdir = "/";//defaultdir;
35 wxToolBar* toolbar = new ToolBar(this,iconsdir);
36 wxAuiPaneInfo paneinfo;
37 wxauimanager->AddPane(toolbar,paneinfo.ToolbarPane().Top());
39 wxauimanager->Update();
43 wxMaracasIRMView::~wxMaracasIRMView( ){
48 void wxMaracasIRMView::loadProp3D(){
50 wxFileDialog* fildial = new wxFileDialog(this, wxString(_T("Select a STL file")),wxString(_T("")),
51 wxString(_T("")),wxString(_T("*.stl")));
52 if(fildial->ShowModal()==wxID_OK){
54 wxString filename(fildial->GetDirectory() + "/"+fildial->GetFilename() );
55 vtkProp3D* prop3D = irmmanager->getProp3D(filename.c_str());
57 this->addProp3D(prop3D);
65 void wxMaracasIRMView::createFileChooser(){
69 wxMaracasIRMView* wxMaracasIRMView::getInstance(wxWindow* parent){
71 instance = new wxMaracasIRMView(parent);
76 wxMaracasIRMView* wxMaracasIRMView::getInstance(){
80 void wxMaracasIRMView::setRenderer(vtkRenderer* renderer){
81 irmmanager->setRenderer(renderer);
84 void wxMaracasIRMView::changeOpacity(int _propid, int value){
85 irmmanager->changeOpacity(_propid,value);
88 void wxMaracasIRMView::changeIsoValue(int _propid, int value){
92 void wxMaracasIRMView::addProp3D(vtkProp3D* prop3D){
93 int id = irmmanager->addProp3D(prop3D);
95 wxMaracasIRMViewProp3D* controlpan = new wxMaracasIRMViewProp3D(this, id);
96 wxAuiPaneInfo paneinfo;
97 wxauimanager->AddPane(controlpan);
104 ** Implementation of viewProp3D
107 wxMaracasIRMViewProp3D::wxMaracasIRMViewProp3D(wxWindow* parent,int propid)
108 :wxMaracasIRMViewPanel(parent){
110 this->_propid = propid;
113 wxMaracasIRMViewProp3D::~wxMaracasIRMViewProp3D(){
116 void wxMaracasIRMViewProp3D::createControls(){
121 radiob = new wxRadioBox(this,-1,wxString(_T("Actor")),wxDefaultPosition,wxDefaultSize,2,choices,1,wxRA_SPECIFY_COLS);
122 this->addControl(radiob);
123 Connect(radiob->GetId(), wxEVT_COMMAND_RADIOBOX_SELECTED, (wxObjectEventFunction)&wxMaracasIRMViewProp3D::onRadioBoxChange);
127 opacity = new wxSlider(this, -1,0,0,100);
128 this->addControl(opacity);
129 Connect(opacity->GetId(), wxEVT_SCROLL_CHANGED, (wxObjectEventFunction)&wxMaracasIRMViewProp3D::onOpacityRelease);
131 isovalue = new wxSlider(this, -1,0,0,100);
132 this->addControl(isovalue);
133 Connect(isovalue->GetId(), wxEVT_SCROLL_CHANGED, (wxObjectEventFunction)&wxMaracasIRMViewProp3D::onIsoValueRelease);
135 void wxMaracasIRMViewProp3D::onRadioBoxChange(wxCommandEvent& event){
138 void wxMaracasIRMViewProp3D::onActionButtonPressedEliminate( wxCommandEvent& event ){
142 void wxMaracasIRMViewProp3D::onOpacityRelease(wxScrollEvent& event ){
144 wxMaracasIRMView::getInstance()->changeOpacity(_propid,opacity->GetValue());
148 void wxMaracasIRMViewProp3D::onIsoValueRelease(wxScrollEvent& event ){
150 wxMaracasIRMView::getInstance()->changeIsoValue(_propid,isovalue->GetValue());
159 ToolBar::ToolBar(wxWindow * parent,std::string iconsdir)
160 : wxToolBar(parent, -1, wxDefaultPosition, wxDefaultSize)
164 std::string iconfil = iconsdir;
166 iconfil+= "/Open.png";
167 wxBitmap* bitmap2 = new wxBitmap(wxString(iconfil.c_str(),wxConvUTF8), wxBITMAP_TYPE_PNG);
168 this->AddTool(2, wxString(_T("test")),*bitmap2);
175 ToolBar::~ToolBar(void){
179 void ToolBar::onLoadConfig(wxCommandEvent& event){
180 wxMaracasIRMView::getInstance()->loadProp3D();
183 BEGIN_EVENT_TABLE(ToolBar, wxToolBar)
184 EVT_MENU(2, ToolBar::onLoadConfig)