namespace bbtk
{
- static bool bbmgSomeBoxExecuting = false;
- static bool bbmgFreezeExecution = false;
+ static bool bbmgSomeBoxExecuting = false;
+ static bool bbmgFreezeExecution = false;
static std::set<BlackBox::WeakPointer> bbmgExecutionList;
//=========================================================================
if (!pack.expired())
{
Package::ReleaseBlackBoxDescriptor(pack,desc);
- }
- else
- {
+ } else {
bbtkDebugMessage("object",2,"##> BlackBox::Deleter(\""<<name<<"\") : descriptor package expired (was not held by a package and the box was the last instance)"<<std::endl);
}
- }
- else
- {
+ } else {
bbtkDebugMessage("object",2,"##> BlackBox::Deleter(\""<<name<<"\") : descriptor expired : nothing to do (was not held by a package or the box is a complex black box prototype)"<<std::endl);
}
bbtkDebugMessage("object",2,"<## BlackBox::Deleter(\""<<name<<"\")"<<std::endl);
//=========================================================================
void BlackBox::bbRecursiveExecute( Connection::Pointer caller )
{
-
bbtkBlackBoxDebugMessage("process",3,
"=> BlackBox::bbRecursiveExecute("
<<(caller?caller->GetFullName():"0")<<")"
<<std::endl);
// If already executing : return
- if (bbGetExecuting())
- {
- bbtkBlackBoxDebugMessage("process",3,
+ if (bbGetExecuting())
+ {
+ bbtkBlackBoxDebugMessage("process",3,
" -> already executing : abort"<<std::endl);
- return;
- }
+ return;
+ }
// If not initialized do it
bbInitializeProcessing();
( (bbBoxProcessModeIsManual()==true)&&(bbLetRecursiveExecuteManualMode==true) )
)
{
+//printf("EED BlackBox::bbRecursiveExecute bbProcess start %s \n", bbGetFullName().c_str() );
this->bbProcess();
+//printf("EED BlackBox::bbRecursiveExecute bbProcess end %s \n", bbGetFullName().c_str() );
} // Manual analysis
//EED ups if ((bbBoxProcessModeIsManual()==true) && (bbLetRecursiveExecuteManualMode==false))
// Update the I/O statuses
bbComputePostProcessStatus();
- }
- else
- {
+ } else {
// Test output status...
OutputConnectorMapType::iterator o;
for ( o = bbGetOutputConnectorMap().begin();
<<"all inputs are Up-to-date but output '"
<<o->first<<"' is Out-of-date ???");
}
- }
+ } // for
bbtkBlackBoxDebugMessage("process",3," -> Up-to-date : nothing to do"
<<std::endl);
- }
+ } // if
// Shows the window if the black box has one
this->bbShowWindow();
bbSetExecuting(false);
bbGlobalSetSomeBoxExecuting(wasExecuting);
-
return;
}
//=========================================================================
//=====
void ProbeFilter::Process()
{
-
// THE MAIN PROCESSING METHOD BODY
// Here we simply set the input 'In' value to the output 'Out'
// And print out the output value
// (the one provided in the attribute 'name' of the tag 'input')
// * TYPE is the C++ type of the input/output
// (the one provided in the attribute 'type' of the tag 'input')
+ if ( (bbGetInputSource()==NULL) || (bbGetInputInput()==NULL) )
+ {
+ bbSetOutputOut( NULL );
+ } else {
+ //EED 2017-01-01 Migration VTK7
-
-//EED 2017-01-01 Migration VTK7
-#if VTK_MAJOR_VERSION <= 5
- _probefilter->SetSource( bbGetInputSource() );
- _probefilter->SetInput( bbGetInputInput() );
-#else
- _probefilter->SetSourceData( bbGetInputSource() );
- _probefilter->SetInputData( bbGetInputInput() );
-#endif
-
- _probefilter->Update();
- bbSetOutputOut( _probefilter->GetOutput() );
-
+ #if VTK_MAJOR_VERSION <= 5
+ _probefilter->SetSource( bbGetInputSource() );
+ _probefilter->SetInput( bbGetInputInput() );
+ #else
+ _probefilter->SetSourceData( bbGetInputSource() );
+ _probefilter->SetInputData( bbGetInputInput() );
+ #endif
+ _probefilter->Update();
+ bbSetOutputOut( _probefilter->GetOutput() );
+ } // if source input
}
//=====
// Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost)
//=====
void SurfaceTexture::Process()
{
-printf("EED SurfaceTexture:Process() Start\n");
-
// THE MAIN PROCESSING METHOD BODY
// Here we simply set the input 'In' value to the output 'Out'
// And print out the output value
// bbSetOutputOut( bbGetInputIn() );
// std::cout << "Output value = " <<bbGetOutputOut() << std::endl;
-
-
int i;
double spc[3];
double range[2];
int ext[6];
-
if ((bbGetInputImage()!=NULL) && (bbGetInputMesh()!=NULL))
{
-
-
bbGetInputImage()->GetSpacing(spc);
bbGetInputImage()->GetScalarRange(range);
-
//EED 2017-01-01 Migration VTK7
#if VTK_MAJOR_VERSION <= 5
bbGetInputImage()->GetWholeExtent(ext);
#else
bbGetInputImage()->GetExtent(ext);
#endif
-
int maxX = ext[1]-ext[0]+1;
int maxY = ext[3]-ext[2]+1;
int maxZ = ext[5]-ext[4]+1;
-
if (firsttime==true)
{
firsttime=false;
// Generate the colors for each point based on the color map
colors = vtkUnsignedCharArray::New();
colors->SetNumberOfComponents(3);
- colors->SetName("Colors");
-
+ colors->SetName("Colors");
// Create the color map
if (bbGetInputColorType()==1)
{
{
colorLookupTable->GetTableValue( iLookTable, rgba1);
colorLookupTable->GetTableValue(256-1-iLookTable, rgba2);
-
colorLookupTable->SetTableValue(256-1-iLookTable , rgba1[0],rgba1[1],rgba1[2],rgba1[3]);
colorLookupTable->SetTableValue( iLookTable , rgba2[0],rgba2[1],rgba2[2],rgba2[3]);
} // for iLookTable
1.0);
}
*/
-
double rgba1[4];
double rgba2[4];
int i,j;
colorLookupTable->SetTableValue(j, rgba1[0],rgba1[1],rgba1[2],rgba1[3]);
colorLookupTable->SetTableValue(i, rgba2[0],rgba2[1],rgba2[2],rgba2[3]);
} // for iLookTable
-
} // type 2
-
-
if (bbGetInputColorType()==3)
{
int tableSize=13;
colorLookupTable->SetNumberOfTableValues(tableSize);
colorLookupTable->SetTableRange(6,range[1]);
colorLookupTable->Build();
-
colorLookupTable->SetTableValue(0, 1 ,1 ,1 ,1);
colorLookupTable->SetTableValue(1, 1 ,0 ,0 ,1);
colorLookupTable->SetTableValue(2, 0 ,1 ,0 ,1);
colorLookupTable->SetTableValue(4, 0 ,1 ,1 ,1);
colorLookupTable->SetTableValue(5, 1 ,1 ,0 ,1);
colorLookupTable->SetTableValue(6, 1 ,0 ,1 ,1);
-
colorLookupTable->SetTableValue(7, 0.5,1 ,1 ,1);
colorLookupTable->SetTableValue(8, 1 ,0.5,1 ,1);
colorLookupTable->SetTableValue(9, 1 ,1 ,0.5,1);
-
colorLookupTable->SetTableValue(10,1 ,0.5,0.5,1);
colorLookupTable->SetTableValue(11,0.5,0.5,1 ,1);
-
} // type 3
-
-
-
-
} // firsttime
-
-
bbGetInputMesh()->GetPointData()->SetScalars(colors);
-
if (bbGetInputColorType()==1)
{
colorLookupTableWL->SetLevel( bbGetInputColorLevel() );
colorLookupTableWL->SetWindow( bbGetInputColorWindow() );
}
-
-
if (bbGetInputExternalLookupTable()!=NULL)
{
generalLookupTable = bbGetInputExternalLookupTable();
} else {
generalLookupTable = colorLookupTable;
}
-
int missingpoints = bbGetInputMesh()->GetNumberOfPoints() - colors->GetDataSize()/colors->GetNumberOfComponents();
for(i = 0; i < missingpoints; i++)
{
colors->InsertNextTuple3(0,0,0);
}
-
if (bbGetInputTransform()!=NULL)
{
bbGetInputTransform()->Update();
}
-
double gl;
double p1[3];
double p2[3];
}
p2[0] = p2[0]/spc[0];
p2[1] = p2[1]/spc[1];
- p2[2] = p2[2]/spc[2];
-
+ p2[2] = p2[2]/spc[2];
if ( (p2[0]>=0) && (p2[0]<maxX) && (p2[1]>=0) && (p2[1]<maxY) &&(p2[2]>=0) && (p2[2]<maxZ) )
{
gl = bbGetInputImage()->GetScalarComponentAsDouble(round(p2[0]), round(p2[1]), round(p2[2]),0);
colors->SetTuple3(i,255*dcolor[0],255*dcolor[1],255*dcolor[2]);
} // for i
bbGetInputMesh()->Modified();
-
} // if Image && Mesh
-printf("EED SurfaceTexture:Process() End\n");
-
-
}
+
//=====
// Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost)
//=====