+// bbmDescriptorPointer.reset();
+//===========================================================================
+
+//===========================================================================
+#define BBTK_VTK_NEW(CLASS,VTKPARENT) \
+ inline static Pointer New(const std::string& name) \
+ { \
+ vtkDebugLeaks::ConstructClass(#VTKPARENT); \
+ bbtkDebugMessage("object",1,"##> "<<#CLASS \
+ <<"::New(\""<<name<<"\")"<<std::endl); \
+ Pointer p = MakeBlackBoxPointer(new Self(name)); \
+ bbtkDebugMessage("object",1,"<## "<<#CLASS \
+ <<"::New(\""<<name<<"\")"<<std::endl); \
+ return p; \
+ } \
+//===========================================================================
+
+//===========================================================================
+#define BBTK_VTK_CLONE(CLASS,VTKPARENT) \
+ inline bbtk::BlackBox::Pointer bbClone(const std::string& name) \
+ { \
+ vtkDebugLeaks::ConstructClass(#VTKPARENT); \
+ bbtkDebugMessage("object",1,"##> "<<#CLASS \
+ <<"::bbClone(\""<<name<<"\")"<<std::endl); \
+ Pointer p = MakeBlackBoxPointer(new Self(*this,name)); \
+ bbtkDebugMessage("object",1,"<## "<<#CLASS \
+ <<"::bbClone(\""<<name<<"\")"<<std::endl); \
+ return p; \
+ } \