28 #ifndef __vtkvmtkCenterlineUtilities_h 29 #define __vtkvmtkCenterlineUtilities_h 31 #include "vtkObject.h" 33 #include "vtkvmtkWin32Header.h" 45 static vtkIdType GetMaxGroupId(vtkPolyData* centerlines,
const char* groupIdsArrayName);
47 static void GetGroupsIdList(vtkPolyData* centerlines,
const char* groupIdsArrayName, vtkIdList* groupIds);
49 static void GetGroupsIdList(vtkPolyData* centerlines,
const char* groupIdsArrayName,
const char* blankingArrayName,
int blanked, vtkIdList* groupIds);
51 static void GetNonBlankedGroupsIdList(vtkPolyData* centerlines,
const char* groupIdsArrayName,
const char* blankingArrayName, vtkIdList* groupIds);
53 static void GetBlankedGroupsIdList(vtkPolyData* centerlines,
const char* groupIdsArrayName,
const char* blankingArrayName, vtkIdList* groupIds);
55 static void GetGroupCellIds(vtkPolyData* centerlines,
const char* groupIdsArrayName, vtkIdType groupId, vtkIdList* groupCellIds);
57 static void GetGroupUniqueCellIds(vtkPolyData* centerlines,
const char* groupIdsArrayName, vtkIdType groupId, vtkIdList* groupCellIds);
59 static void GetCenterlineCellIds(vtkPolyData* centerlines,
const char* centerlineIdsArrayName, vtkIdType centerlineId, vtkIdList* centerlineCellIds);
61 static void GetCenterlineCellIds(vtkPolyData* centerlines,
const char* centerlineIdsArrayName,
const char* tractIdsArrayName, vtkIdType centerlineId, vtkIdList* centerlineCellIds);
63 static int IsGroupBlanked(vtkPolyData* centerlines,
const char* groupIdsArrayName,
const char* blankingArrayName, vtkIdType groupId);
65 static int IsCellBlanked(vtkPolyData* centerlines,
const char* blankingArrayName, vtkIdType cellId);
67 static void FindAdjacentCenterlineGroupIds(vtkPolyData* centerlines,
const char* groupIdsArrayName,
const char* centerlineIdsArrayName,
const char* tractIdsArrayName, vtkIdType groupId, vtkIdList* upStreamGroupIds, vtkIdList* downStreamGroupIds);
69 static void InterpolatePoint(vtkPolyData* centerlines,
int cellId,
int subId,
double pcoord,
double interpolatedPoint[3]);
71 static void InterpolateTuple(vtkPolyData* centerlines,
const char* arrayName,
int cellId,
int subId,
double pcoord,
double* interpolatedTuple);
73 static void InterpolateTuple1(vtkPolyData* centerlines,
const char* arrayName,
int cellId,
int subId,
double pcoord,
double& interpolatedTuple1)
75 InterpolateTuple(centerlines,arrayName,cellId,subId,pcoord,&interpolatedTuple1);
78 static void InterpolateTuple3(vtkPolyData* centerlines,
const char* arrayName,
int cellId,
int subId,
double pcoord,
double interpolatedTuple3[3])
80 InterpolateTuple(centerlines,arrayName,cellId,subId,pcoord,interpolatedTuple3);
83 static void FindMergingPoints(vtkPolyData* centerlines, vtkPoints* mergingPoints,
double tolerance);
static void InterpolateTuple1(vtkPolyData *centerlines, const char *arrayName, int cellId, int subId, double pcoord, double &interpolatedTuple1)
~vtkvmtkCenterlineUtilities()
vtkvmtkCenterlineUtilities()
static void InterpolateTuple3(vtkPolyData *centerlines, const char *arrayName, int cellId, int subId, double pcoord, double interpolatedTuple3[3])
Collection of functions which are used when working with split and grouped centerlines.