25 #include <boost/shared_ptr.hpp>
27 #include <vtkPolyData.h>
28 #include <vtkTubeFilter.h>
29 #include <vtkCellArray.h>
30 #include <vtkTriangleFilter.h>
37 vtkPolyData *branchRegion;
38 vtkTubeFilter *tubeFilter;
46 vtkPolyData *polyData;
48 vtkTriangleFilter *triFilter;
53 static boost::shared_ptr<Branch>
New(
double r,
double p_h, vtkTransform *relativeTrans,
int rootEQ,
twisting p_twist =
TWIST_ON);
55 void AddRegion(vtkPolyData *t_Region){branchRegion->DeepCopy(t_Region);}
57 vtkPolyData *
GetRegion()
const {
return branchRegion;}
61 virtual double GetDiameter()
const {
return tubeFilter->GetRadius()*2.0;}
63 int GetEQ()
const {
return equation;}
66 virtual double GetRadius()
const {
return tubeFilter->GetRadius();}
69 tubeFilter->SetRadius(r);
81 Branch(
double r,
double p_h, vtkTransform *relativeTrans,
int rootEQ,
twisting p_twist);