//=========================================================================
wxVtkSceneManager::wxVtkSceneManager(wxGEditorTabPanel *parent, wxVtk3DBaseView *baseView,int idManager)
{
- _cbName = "ComplexBoxName";
- _cbPackageName = "PackageName";
- _Author = "Author ??";
- _Category = "<VOID>";
- _Description = "Description ??";
-
_parent = parent;
_numBoxes = 0;
_idManager = idManager;
} // isOverPort
} else { //_worldState
-
+
_worldState = DRAG_OBJECTS;
_startDragging = true;
-
+
int shiftkey = _vtkInteractorStyleBaseView->GetInteractor()->GetShiftKey();
int ctrlkey = _vtkInteractorStyleBaseView->GetInteractor()->GetControlKey();
ctrlkey = ctrlkey + shiftkey;
-
+
GObjectController *cont = GetGBlackBoxControlerPointedByMouse();
-
+
if (GetGBlackBoxControlerPointedByMouse()!=NULL)
{
int state=cont->getView()->getState() ;
} // if _selectedObjects.size
-
+
return true;
}
{
_worldState=NOTHING_HAPPENS;
//int lastId = _controllers.size()-1;
-
+
GConnectorController *connector = (GConnectorController*)_controllers[_idConnectionInCreation];
connector->removeFromScene();
unregisterController(connector);
_controllers.erase(_idConnectionInCreation);
-
+
std::map<int, GObjectController*>::iterator it;
for(it = _controllers.begin(); it != _controllers.end(); ++it)
{
desc->getView()->setState(NOTHING_HAPPENS);
desc->getModel()->notifyObservers(_idManager);
} // for
- }// if
+ }// if
}
-
-
+
+
//=========================================================================
bool wxVtkSceneManager::OnRightButtonUp()
script+=LineNumber(wln,lnNmbr);
script+="\n";
-
-//ups2
-
- script+=LineNumber(wln,lnNmbr);
- script+="author \"";
- script+=_Author;
- script+="\"\n";
-
- script+=LineNumber(wln,lnNmbr);
- script+="description \"";
- script+=_Description;
- script+="\"\n";
-
- script+=LineNumber(wln,lnNmbr);
- script+="category \"";
- script+=_Category;
- script+="\"\n";
-
- script+=LineNumber(wln,lnNmbr);
- script+="\n";
-
-
// script+="include std\n"; // JPR
for(i = 0; i < (int)boxes.size();i++)
//=========================================================================
- std::string wxVtkSceneManager::saveComplexBoxBBS()
+ std::string wxVtkSceneManager::saveComplexBoxBBS(std::string cbName,std::string cbAuthor,std::string cbCategory,std::string cbDescription)
{
+
std::vector<std::string> packages;
std::vector<int> boxes;
std::vector<int> connections;
}
script+="\n";
-
// Definition of a complex box
script+="define ";
- script+=_cbName+" "+_cbPackageName;
+ script+=cbName;
script+="\n";
script+="\n";
- script+="author \"";
- script+=_Author;
+ script+="author \" ";
+ script+=cbAuthor;
script+="\"\n";
- script+="description \"";
- script+=_Description;
+ script+="description \" ";
+ script+=cbDescription;
script+="\"\n";
script+="\n";
- script+="category \"";
- script+=_Category;
- script+="\"\n";
- script+="\n";
-
-
// Create boxes
for(i = 0; i<(int)boxes.size();i++)
{
{
char buffer [50];
- content+="CATEGORY:";
- content+=GetCategory();
- content+="\n";
-
- content+="DESCRIPTION:";
- content+=GetDescription();
- content+="\n";
-
- content+="AUTHOR:";
- content+=GetAuthor();
- content+="\n";
-
-
//Print info IF COMPLEX BOX
content+="COMPLEXBOX:";
if(_isComplexBox)
{
content+="TRUE\n";
-//ups1
- content+="COMPLEXBOXNAME:";
- content+=GetCbName();
- content+="\n";
-
- content+="PACKAGENAME:";
- content+=GetCbPackageName();
- content+="\n";
//Print info complex input ports
std::vector<int> inputs = getComplexInputPorts();
void wxVtkSceneManager::loadDiagram(ifstream &inputStream)
{
- std::string version="<void>";
+ std::string version;
std::string line="";
char delims[] = ":";
char *result = NULL;
if (line=="# - BBTKGEditor v 1.0 BBG BlackBox Diagram file")
{
version=line.substr(18,3);
+ printf("EED wxVtkSceneManager::loadDiagram version=%s\n",version.c_str());
}
- if (line=="# - BBTKGEditor v 1.1 BBG BlackBox Diagram file")
- {
- version=line.substr(18,3);
- }
- if (line=="# - BBTKGEditor v 1.2 BBG BlackBox Diagram file")
- {
- version=line.substr(18,3);
- }
+
}
else if(line=="APP_START")
{
}
}
- printf("EED wxVtkSceneManager::loadDiagram version=%s\n",version.c_str());
-
if(start)
{
- if ((version!="1.0") && (version!="1.1"))
- {
- getline(inputStream,line);//CATEGORY:<category of the box>
- char categoryTmp[30];
- strcpy( categoryTmp, line.c_str() );
- result = strtok( categoryTmp, delims );
- result = strtok( NULL, delims );
- SetCategory(result);
-
- getline(inputStream,line);//DESCRIPTION:<description of the box>
- char descriptionTmp[1024];
- strcpy( descriptionTmp, line.c_str() );
- result = strtok( descriptionTmp, delims );
- result = strtok( NULL, delims );
- SetDescription(result);
-
- getline(inputStream,line);//AUTHOR:<author>
- char authorTmp[255];
- strcpy( authorTmp, line.c_str() );
- result = strtok( authorTmp, delims );
- result = strtok( NULL, delims );
- SetAuthor(result);
- }
-
//----------
getline(inputStream,line);//COMPLEX_BOX:TRUE|FALSE
- char complexTmp[30];
- strcpy( complexTmp, line.c_str() );
- result = strtok( complexTmp, delims );
+ char complex[30];
+ strcpy( complex, line.c_str() );
+ result = strtok( complex, delims );
result = strtok( NULL, delims );
std::string isComplexBox(result);
{
_isComplexBox=true;
- if ((version!="1.0") && (version!="1.1"))
- {
- getline(inputStream,line);//COMPLEXNAME:<name of the complex box>
- char complexboxnameTmp[255];
- strcpy( complexboxnameTmp, line.c_str() );
- result = strtok( complexboxnameTmp, delims );
- result = strtok( NULL, delims );
- SetCbName(result);
-
- getline(inputStream,line);//PACKAGENAME:<name of the package of the box>
- char packagenameTmp[255];
- strcpy( packagenameTmp, line.c_str() );
- result = strtok( packagenameTmp, delims );
- result = strtok( NULL, delims );
- SetCbPackageName(result);
- }
-
-
//-----------------------
//- COMPLEX INPUT PORTS
//-----------------------
std::string nameEndPort(result);
int idCon = configGConnetion(nameStartBox, nameStartPort, nameEndBox, nameEndPort);
-
+
if (version!="1.0")
{
- //Readding control points of the manualContour
+ //Readding control points of the manualContour
//ups1
- GConnectorController *tempp = (GConnectorController*)_controllers[idCon];
+ GConnectorController *tempp = (GConnectorController*)_controllers[idCon];
GConnectorModel *conMod = (GConnectorModel*)tempp->getModel();
vtkGConnectorView *conView= (vtkGConnectorView*)tempp->getView();
getline(inputStream,line); //NumberOfControlPoints:##
strcpy( conns, line.c_str() );
result = strtok( conns, delims );
result = strtok( NULL, delims );
-
+
int numberOfControlPoints;
std::istringstream isCons(result);
isCons >> numberOfControlPoints;
-
+
for (int ii=0;ii<numberOfControlPoints;ii++)
{
getline(inputStream,line); //XX:YY:ZZ
char connec[200];
strcpy( connec, line.c_str() );
-
+
double px,py,pz;
result = strtok( connec, delims );
std::istringstream isPointX(result);
result = strtok( NULL, delims );
std::istringstream isPointZ(result);
isPointZ >> pz;
-
+
conMod->getManualContourModel()->InsertPoint_id(ii+1,px,py,pz);
conView->getManualContourView()->AddPoint();
}
}// version !=1.0
-
+
} // for numConns
} // start
-
+
refresh();
}
//=========================================================================
}
-
- //=========================================================================
- void wxVtkSceneManager::SetCbName(std::string cbName)
- {
- _cbName=cbName;
- if (_cbName=="")
- {
- _cbName="<complex box name>";
- }
- }
-
//=========================================================================
- std::string wxVtkSceneManager::GetCbName()
- {
- return _cbName;
- }
-
- //=========================================================================
- void wxVtkSceneManager::SetCbPackageName(std::string packagename)
- {
- _cbPackageName=packagename;
- if (_cbPackageName=="")
- {
- _cbPackageName="<package name of the complex box>";
- }
- }
-
- //=========================================================================
- std::string wxVtkSceneManager::GetCbPackageName()
- {
- return _cbPackageName;
- }
-
- //=========================================================================
- void wxVtkSceneManager::SetAuthor(std::string author)
- {
- _Author=author;
- if (_Author=="")
- {
- _Author="<author of the box>";
- }
- }
-
- //=========================================================================
- std::string wxVtkSceneManager::GetAuthor()
- {
- return _Author;
- }
-
- //=========================================================================
- void wxVtkSceneManager::SetCategory(std::string category)
- {
- _Category=category;
- if (_Category=="")
- {
- _Category="<category of the box>";
- }
- }
-
- //=========================================================================
- std::string wxVtkSceneManager::GetCategory()
- {
- return _Category;
- }
-
- //=========================================================================
- void wxVtkSceneManager::SetDescription(std::string description)
- {
- _Description=description;
- if (_Description=="")
- {
- _Description="<description of the box>";
- }
- }
-
- //=========================================================================
- std::string wxVtkSceneManager::GetDescription()
- {
- return _Description;
- }
-
- //=========================================================================
-
-
-
-
-
-
} // EO namespace bbtk