--- /dev/null
+#include <GenericPlugins/JoinBoundingBoxes.h>
+#include <cpPlugins/Pipeline/DataObject.h>
+#include <cpInstances/DataObjects/BoundingBox.h>
+
+// -------------------------------------------------------------------------
+cpPlugins_GenericPlugins::JoinBoundingBoxes::
+JoinBoundingBoxes( )
+ : Superclass( )
+{
+ this->_ConfigureInput( "Inputs", true, true );
+ this->_ConfigureOutput< cpInstances::DataObjects::BoundingBox >( "Output" );
+}
+
+// -------------------------------------------------------------------------
+cpPlugins_GenericPlugins::JoinBoundingBoxes::
+~JoinBoundingBoxes( )
+{
+}
+
+// -------------------------------------------------------------------------
+void cpPlugins_GenericPlugins::JoinBoundingBoxes::
+_GenerateData( )
+{
+ typedef cpPlugins::Pipeline::DataObject _TDO;
+ typedef cpInstances::DataObjects::BoundingBox _TBB;
+
+ auto out = dynamic_cast< _TBB* >( this->GetOutput( "Output" ) );
+ unsigned int nInputs = this->GetInputSize( "Inputs" );
+ for( unsigned int i = 0; i < nInputs; ++i )
+ {
+ auto in = dynamic_cast< _TDO* >( this->GetInput( "Inputs", i ) );
+ if( i > 0 )
+ {
+ _TBB::Pointer bb = _TBB::New( );
+ bb->SetDataObject( in );
+ out->Blend( bb );
+ }
+ else
+ out->SetDataObject( in );
+
+ } // rof
+}
+
+// eof - $RCSfile$