#include "wxVtkSceneManager.h"
+
#include <vtkPolygon.h>
#include <vtkUnstructuredGrid.h>
+
namespace bbtk {
+cvs
//=========================================================================
wxVtkSceneManager::wxVtkSceneManager(wxGEditorTabPanel *parent,
wxVtk3DBaseView *baseView, int idManager) {
if (_baseView != NULL) {
//EED02JUIN2010
printf(
- "RaC-EED 21-06-2010 %p wxVtkSceneManager::wxVtkSceneManager If you comment this line, the drag and drop functionnality is not initialized.\n",
- this);
-#ifdef __APPLE__
+ "RaC-EED 21-06-2010 %p wxVtkSceneManager::wxVtkSceneManager If you comment this line, the drag and drop functionnality is not initialized.\n", this);
+
+ #ifdef __APPLE__
+
_baseView->GetWxVTKRenderWindowInteractor()->SetDropTarget((wxDropTarget*)parent);
-#endif
+
+ #endif
configureBaseView();
_worldState = NOTHING_HAPPENS;
manContourView->SetColorNormalContour(0, 0, 1);
manContourView->SetColorEditContour(0.5, 0.5, 0.5);
manContourView->SetColorSelectContour(1, 0.8, 0);
- manContourView->SetWidthLine(1);
+
+
+ /**
+ * JGRR AND CM
+ * Width increased from 2 to 5, it simplifies line handling and spline control :P
+ * @param WidthLine
+ */
+
+ manContourView->SetWidthLine( 5 ) ;
+
+
manContourView->SetShowText(false);
manContourControl->SetModelView(manContourModel, manContourView);
_selectedObjects.erase(_selectedObjects.begin() + index);
}
} else if (command == INIT_CREATION_CONTOUR) {
+
+
+ // JGRR & CM WH
+ typedef std::map<int , GObjectController*>::iterator TIterator ;
+ TIterator iter ;
+ TIterator iter_end ;
+ // Find current item in the controller
+ iter = _controllers.find( idController ) ;
+ iter_end = _controllers.end( ) ;
+ // If item exist
+ if ( iter != iter_end ) {
+ GObjectController* gobjc = iter->second ;
+
+ std::string bbtkType = gobjc->getModel( )->getBBTKType( ) ;
+ // And if the item is a port
+ if ( gobjc->getModel( )->getGObjectType( ) == GPORT ) {
+ TIterator c_it = _controllers.begin( ) ;
+ // Go through all componets
+ for ( c_it ; c_it != iter_end ; c_it++ ) {
+ GObjectController* obc = c_it->second ;
+ int obc_type = obc->getModel( )->getGObjectType( ) ;
+ std::string obc_bbtkType = obc->getModel( )->getBBTKType( ) ;
+ // if the component is a port and the type is the same of that selected
+ if ( ( obc_type == GPORT ) && ( obc_bbtkType == bbtkType ) ) {
+ // Highliht element
+ obc->getView( )->setState( POSSIBLE_CONNECTION ) ;
+ //obc->getView( )->setState( HIGHLIGHTED ) ;
+ }
+ }
+ }
+ }
+
+ // EO JGRR & CM WH
+
+
_worldState = INIT_CREATION_CONTOUR;
GObjectController* cont = _controllers[idController];
GPortModel* startOutputPort = (GPortModel*) cont->getModel();
if (finPort->getGObjectType() == GPORT) {
GPortModel* modelPort = (GPortModel*) finPort->getModel();
modelContour->setEndPort(modelPort);
+
+
+ // JGRR CM
+ typedef std::map<int , GObjectController*>::iterator TIterator ;
+ TIterator c_it = _controllers.begin( ) ;
+ TIterator iter_end = _controllers.end( ) ;
+ // Go through all componets
+ for ( c_it ; c_it != iter_end ; c_it++ ) {
+ GObjectController* obc = c_it->second ;
+ int obc_type = obc->getModel( )->getGObjectType( ) ;
+ int obc_state = obc->getView( )->getState( ) ;
+ // if the component is a port and the type is the same of that selected
+ if ( ( obc_type == GPORT ) && ( obc_state == POSSIBLE_CONNECTION )) {
+ // Return element to neutral state if not selected
+ obc->getView( )->setState( NOTHING_HAPPENS ) ;
+ }
+ if ( ( obc_type == GPORT ) && (obc_state == SELECTED_POSSIBLE_CONNECTION )) {
+ // Change element to connected state
+ obc->getView( )->setState( HIGHLIGHTED ) ;
+
+ }
+
+ }
+ // EO JGRR CM
+
_parent->saveTempDiagram();
}
&& portView->getState() == HIGHLIGHTED) {
isOverPort = true;
} // if
+
+ // JGRR & CM
+ if ( portmod->getPortType( ) == GINPUTPORT && portView->getState( ) == SELECTED_POSSIBLE_CONNECTION ) {
+ isOverPort = true ;
+ portView->setState( HIGHLIGHTED);
+ }
+ // EO JGRR & CM
+
} // if
} // for
std::string value(result);
bbmod->setValueToInput(name, value);
-
getline(inputStream, line);//PORT o FIN_BOX
port = line.substr(0, 4);
} // while
}
}
+
//=========================================================================
std::string wxVtkSceneManager::GetCbPackageName() {
return _cbPackageName;
}
}
+
//=========================================================================
std::string wxVtkSceneManager::GetDescription() {
return _Description;
}
//=========================================================================
+// JGRR & CM
+void wxVtkSceneManager::printAll(int com , int sta ){
+
+ int tmpState = sta ;
+ if ( tmpState == NOTHING_HAPPENS ) {
+ std::cout << "CONTROLER STATE---->NOTHING_HAPPENS\n" ;
+ }
+ if ( tmpState == HIGHLIGHTED ) {
+ std::cout << "CONTROLER STATE---->HIGHLIGHTED\n" ;
+ }
+ if ( tmpState == POSSIBLE_CONNECTION ) {
+ std::cout << "CONTROLER STATE---->POSSIBLE_CONNECTION\n" ;
+ }
+ if ( tmpState == SELECTED_POSSIBLE_CONNECTION ) {
+ std::cout << "CONTROLER STATE---->SELECTED_POSSIBLE_CONNECTION\n" ;
+ }
+ if ( tmpState == CLICKED ) {
+ std::cout << "CONTROLER STATE---->CLICKED\n" ;
+ }
+ if ( tmpState == DRAG ) {
+ std::cout << "CONTROLER STATE---->DRAG\n" ;
+ }
+ if ( tmpState == SELECTED ) {
+ std::cout << "CONTROLER STATE---->SELECTED\n" ;
+ }
+ if ( tmpState == CREATING_CONTOUR ) {
+ std::cout << "CONTROLER STATE---->CREATING_CONTOUR\n" ;
+ }
+
+ // :P
+
+ int command = com ;
+ if ( command == INIT_CREATION_CONTOUR ) {
+ std::cout << "COMMAND ----> INIT_CREATION_CONTOUR \n" ;
+ }
+ if ( command == FIN_CREATION_CONTOUR ) {
+ std::cout << "COMMAND ----> FIN_CREATION_CONTOUR \n" ;
+ }
+ if ( command == ADD_TO_SELECTED ) {
+ std::cout << "COMMAND ----> ADD_TO_SELECTED \n" ;
+ }
+ if ( command == DRAG_OBJECTS ) {
+ std::cout << "COMMAND ----> DRAG_OBJECTS \n" ;
+ }
+ if ( command == EDIT_BLACKBOX ) {
+ std::cout << "COMMAND ----> EDIT_BLACKBOX \n" ;
+ }
+ if ( command == REMOVE_FROM_SELECTED ) {
+ std::cout << "COMMAND ----> REMOVE_FROM_SELECTED \n" ;
+ }
+
+ }
} // EO namespace bbtk
-// EOF
-
+// EOF