#ifdef _USE_VTK_
-#include "vtkProperty.h"
#include "vtkLinearTransform.h"
#include "vtkCleanPolyData.h"
#include "vtkFieldData.h"
//---------------------------------------------------------------------
void PolyDataToActor::bbUserInitializeProcessing()
{
- polydatamapper = vtkPolyDataMapper::New();
- vtkactor = vtkActor::New();
+ polydatamapper = vtkPolyDataMapper::New();
+ vtkactor = vtkActor::New();
+ backfaceproperty = vtkProperty::New();
+
// polydatamapper->SetInput(marchingcubes->GetOutput());
vtkactor->SetMapper(polydatamapper);
vtkactor->GetProperty()->SetColor( bbGetInputColour()[0], bbGetInputColour()[1], bbGetInputColour()[2] );
vtkactor->GetProperty()->SetOpacity( bbGetInputOpacity() );
- vtkProperty *backfaceproperty = vtkProperty::New();
- backfaceproperty->SetColor(0.5, 0.5, 1);
- backfaceproperty->SetOpacity( bbGetInputOpacity() );
- vtkactor->SetBackfaceProperty( backfaceproperty );
+//EED 2023-07-28
+ if (bbGetInputBackFaceColour().size()==3)
+ {
+ backfaceproperty->SetColor(0.5, 0.5, 1);
+ backfaceproperty->SetOpacity( bbGetInputOpacity() );
+ vtkactor->SetBackfaceProperty( backfaceproperty );
+ } else {
+ vtkactor->SetBackfaceProperty( NULL );
+ }
if ( bbGetInputTransform()!=NULL )
{
#include "vtkProp3D.h"
#include "vtkActor.h"
#include "vtkScalarsToColors.h"
+#include "vtkProperty.h"
+
#include <vector>
#include "bbtkAtomicBlackBox.h"
bool actorAdded;
vtkPolyDataMapper *polydatamapper;
vtkActor *vtkactor;
-
+ vtkProperty *backfaceproperty;
+
BBTK_BLACK_BOX_INTERFACE(PolyDataToActor,bbtk::AtomicBlackBox);
BBTK_DECLARE_INPUT(Active,bool);
BBTK_DECLARE_INPUT(In,vtkPolyData *);
BBTK_DECLARE_INPUT(Opacity,double);
BBTK_DECLARE_INPUT(Colour,std::vector<double>);
+ BBTK_DECLARE_INPUT(BackFaceColour,std::vector<double>);
BBTK_DECLARE_INPUT(Renderer,vtkRenderer *);
BBTK_DECLARE_INPUT(Transform, vtkLinearTransform *);
BBTK_DECLARE_INPUT(Representation, int);
BBTK_INPUT(PolyDataToActor,Active,"Active true/false (default true)",bool,"");
BBTK_INPUT(PolyDataToActor,Opacity,"Opacity",double,"");
BBTK_INPUT(PolyDataToActor,Colour,"r g b",vectorcolour,"colour");
+ BBTK_INPUT(PolyDataToActor,BackFaceColour,"(default EMPTY) [r g b] (0..1)",vectorcolour,"colour");
BBTK_INPUT(PolyDataToActor,Renderer,"3D scene in which to insert the surface",vtkRenderer*,"");
BBTK_INPUT(PolyDataToActor,Transform,"Linear Transform (4x4 homogeneous)",vtkLinearTransform*,"");
BBTK_INPUT(PolyDataToActor,Representation,"0 points,1 wireframe, 2(default) surface",int,"");