//=========================================================================
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 cbName,std::string paName,std::string cbAuthor,std::string cbCategory,std::string cbDescription)
+ std::string wxVtkSceneManager::saveComplexBoxBBS()
{
-
std::vector<std::string> packages;
std::vector<int> boxes;
std::vector<int> connections;
}
script+="\n";
+
// Definition of a complex box
script+="define ";
- script+=cbName+" "+paName;
+ script+=_cbName+" "+_cbPackageName;
script+="\n";
script+="\n";
- script+="author \" ";
- script+=cbAuthor;
+ script+="author \"";
+ script+=_Author;
script+="\"\n";
- script+="description \" ";
- script+=cbDescription;
+ script+="description \"";
+ script+=_Description;
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;
+ std::string version="<void>";
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 complex[30];
- strcpy( complex, line.c_str() );
- result = strtok( complex, delims );
+ char complexTmp[30];
+ strcpy( complexTmp, line.c_str() );
+ result = strtok( complexTmp, 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