]> Creatis software - bbtkGEditor.git/blobdiff - lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxVtkSceneManager.cxx
#3075 bbGEditor Bug New Normal - comboBox for message configuration
[bbtkGEditor.git] / lib / EditorGraphicBBS / bbsWxGUIEditorGraphic / wxVtkSceneManager.cxx
index 95a2454c22ff447cf2ec8b5e21ee29bede39abf0..002e5895014dc0ed85cfa6f5b4c7862632469d4d 100644 (file)
@@ -73,25 +73,25 @@ namespace bbtk {
        
 wxVtkSceneManager::wxVtkSceneManager(wxGEditorTabPanel *parent, wxVtk3DBaseView *baseView, int idManager,Factory::Pointer bbtkfactory) 
 {
-       _cbName                 = "ComplexBoxName";
-       _cbPackageName          = "PackageName";
-       _Author                 = "Author ??";
-       _Category               = "<VOID>";
-       _Description            = "Description ??";
-       _MessageKind = " ";
-       _MessageLevel = " ";
-
-       _bugTextActor_text      = "void";
+       _cbName                                 = "ComplexBoxName";
+       _cbPackageName                  = "PackageName";
+       _Author                                 = "Author ??";
+       _Category                               = "<VOID>";
+       _Description                    = "Description ??";
+       _MessageKind                    = "-";
+       _MessageLevel                   = "-";
+
+       _bugTextActor_text              = "void";
        _bugTextActor_status    = 0;
 
-       _parent                 = parent;
-       _numBoxes               = 0;
-       _idManager              = idManager;
-       _baseView               = baseView;
-       _bbtkfactory            = bbtkfactory;
+       _parent                                 = parent;
+       _numBoxes                               = 0;
+       _idManager                              = idManager;
+       _baseView                               = baseView;
+       _bbtkfactory                    = bbtkfactory;
        
-       _startDragging          = false;
-       _isComplexBox           = false;
+       _startDragging                  = false;
+       _isComplexBox                   = false;
 
        if (_baseView != NULL) {
                //EED02JUIN2010
@@ -1540,7 +1540,7 @@ std::string wxVtkSceneManager::getDiagramBBS(bool wln) {
                script += "# Complex input ports\n";
                script += complexInputs;
 
-               if((_MessageKind!=" ")&&(_MessageLevel!=" ")){
+               if((_MessageKind!="-")&&(_MessageLevel!="-")){
                        script += LineNumber(wln, lnNmbr);
                        script += "message ";
                        script += _MessageKind;
@@ -1736,13 +1736,17 @@ std::string wxVtkSceneManager::saveComplexBoxBBS() {
 
        script += "\n";
 
-       script += "message ";
-       script += _MessageKind;
-       script += " ";
-       script += _MessageLevel;
-       script += "\n";
+       if((_MessageKind!="-")&&(_MessageLevel!="-"))
+       {
+               script += "message ";
+               script += _MessageKind;
+               script += " ";
+               script += _MessageLevel;
+               script += "\n";
+       }
 
-       for (i = 0; i < (int) execBoxes.size(); i++) {
+       for (i = 0; i < (int) execBoxes.size(); i++) 
+       {
                script += "exec ";
                int id = execBoxes[i];
                GObjectController *control = _controllers[id];
@@ -1780,23 +1784,45 @@ void wxVtkSceneManager::refresh() {
 }
 //=========================================================================
 
-void wxVtkSceneManager::refreshScene() {
+void wxVtkSceneManager::refreshScene() 
+{
        _baseView->RefreshView();
 }
 
 //=========================================================================
 
-void wxVtkSceneManager::centerView() {
+void wxVtkSceneManager::centerView() 
+{
+       double bb[6];
+       _baseView->GetRenderer()->ComputeVisiblePropBounds(bb);
+
        double temp[3];
        _baseView->GetRenderer()->GetActiveCamera()->GetFocalPoint(temp);
        _baseView->GetRenderer()->GetActiveCamera()->SetFocalPoint(0, 0, temp[2]);
        _baseView->GetRenderer()->GetActiveCamera()->GetPosition(temp);
        _baseView->GetRenderer()->GetActiveCamera()->SetPosition(0, 0, temp[2]);
+
+       _baseView->GetRenderer()->ResetCamera();
+       _baseView->GetRenderer()->ResetCameraClippingRange();
+
+/*
+       double tt=_baseView->GetRenderer()->GetNearClippingPlaneTolerance();
+       printf("EED wxVtkSceneManager::centerView() tolerance=%f\n",tt);
+       double cr1,cr2;
+       _baseView->GetRenderer()->GetActiveCamera()->GetClippingRange(cr1,cr2);
+       printf("EED wxVtkSceneManager::centerView() cr1=%f  cr2=%f\n",cr1,cr2);
+       _baseView->GetRenderer()->GetActiveCamera()->SetClippingRange(0.01,100000);
+       _baseView->GetRenderer()->GetActiveCamera()->GetClippingRange(cr1,cr2);
+       printf("EED wxVtkSceneManager::centerView() cr1=%f  cr2=%f\n",cr1,cr2);
+*/
+
+       _baseView->GetRenderer()->Render();
 }
 
 //=========================================================================
 
-void wxVtkSceneManager::saveDiagram(std::string &content) {
+void wxVtkSceneManager::saveDiagram(std::string &content) 
+{
        char buffer[50];
 
        content += "CATEGORY:";
@@ -1928,7 +1954,6 @@ void wxVtkSceneManager::getCleanLine(stringstream &inputStream, std::string &lin
 //=========================================================================
 void wxVtkSceneManager::loadDiagram(stringstream &inputStream) 
 {
-
        int size;
        std::string version = "<void>";
        std::string line = "";