#include "bbUtilitiesCatPoints.h" #include "bbUtilitiesPackage.h" namespace bbUtilities { BBTK_ADD_BLACK_BOX_TO_PACKAGE(Utilities,CatPoints) BBTK_BLACK_BOX_IMPLEMENTATION(CatPoints,bbtk::AtomicBlackBox); void CatPoints::Process() { std::string dir = bbGetInputDSDirectory(); vtkRenderer* render = bbGetInputInRenderer(); int vess = bbGetInputVessel(); std::string vessel = "vessel", point = "point"; std::string temp, poi, line, num; for(int i = 0; i < 4; i++){ if(i == 0){ poi = "A.txt"; }else if(i == 1){ poi = "B.txt"; }else if(i == 2){ poi = "E.txt"; }else{ poi = "S.txt"; } num = vess+48; //temp = dir+"\\"+vessel+num+"\\"+point+poi; temp = dir+"/"+vessel+num+"/"+point+poi; std::ifstream file; int radio=1; file.open( temp.c_str() ); if(file.is_open()){ std::getline(file,line); int pos=line.find(" "); int pos2=line.find_last_of(" "); int size=line.size(); std::string xs=line.substr(0,pos); std::string ys=line.substr(pos+1,pos2); std::string zs=line.substr(pos2+1,size); double x0=atof(xs.c_str()); double y0=atof(ys.c_str()); double z0=atof(zs.c_str()); vtkSphereSource* sphere = vtkSphereSource::New(); sphere->SetCenter(x0,y0,z0); sphere->SetRadius(radio); vtkPolyDataMapper* spheremapper = vtkPolyDataMapper::New(); spheremapper->SetInput(sphere->GetOutput()); spheremapper->Update(); if(i==0){ sphereactor0->SetMapper(spheremapper); render->AddActor(sphereactor0); }else if(i==1 ){ sphereactor1->SetMapper(spheremapper); render->AddActor(sphereactor1); }else if(i==2){ sphereactor2->SetMapper(spheremapper); render->AddActor(sphereactor2); }else if(i==3 ){ sphereactor3->SetMapper(spheremapper); render->AddActor(sphereactor3); } std::getline(file,line); } file.close(); } } void CatPoints::bbUserSetDefaultValues() { } void CatPoints::bbUserInitializeProcessing() { sphereactor0 = vtkActor::New(); sphereactor1 = vtkActor::New(); sphereactor2 = vtkActor::New(); sphereactor3 = vtkActor::New(); sphereactor0->GetProperty()->SetColor(1.0,1.0,1.0); sphereactor1->GetProperty()->SetColor(1.0,0.0,0.0); sphereactor2->GetProperty()->SetColor(0.0,1.0,0.0); sphereactor3->GetProperty()->SetColor(0.0,0.0,1.0); } void CatPoints::bbUserFinalizeProcessing() { } } // EO namespace bbUtilities