17 #ifndef __itkParametricSpaceToImageSpaceMeshFilter_txx
18 #define __itkParametricSpaceToImageSpaceMeshFilter_txx
30 template <
class TInputMesh,
class TOutputMesh>
34 this->SetNumberOfRequiredInputs( 1 );
41 template <
class TInputMesh,
class TOutputMesh>
46 Superclass::PrintSelf(os,indent);
53 template <
class TInputMesh,
class TOutputMesh>
59 typedef typename TInputMesh::PointsContainer InputPointsContainer;
60 typedef typename TOutputMesh::PointsContainer OutputPointsContainer;
62 typedef typename TInputMesh::PointsContainerPointer InputPointsContainerPointer;
63 typedef typename TOutputMesh::PointsContainerPointer OutputPointsContainerPointer;
65 typedef typename TInputMesh::PointDataContainer InputPointDataContainer;
66 typedef typename TOutputMesh::PointDataContainer OutputPointDataContainer;
68 typedef typename TInputMesh::PointDataContainerPointer InputPointDataContainerPointer;
69 typedef typename TOutputMesh::PointDataContainerPointer OutputPointDataContainerPointer;
76 itkExceptionMacro( <<
"Missing Input Mesh" );
81 itkExceptionMacro( <<
"Missing Output Mesh" );
84 outputMesh->SetBufferedRegion( outputMesh->GetRequestedRegion() );
86 const InputPointsContainer * inPoints = inputMesh->GetPoints();
87 OutputPointsContainerPointer outPoints = OutputPointsContainer::New();
89 outPoints->Reserve( inputMesh->GetNumberOfPoints() );
91 const InputPointDataContainer * inData = inputMesh->GetPointData();
92 OutputPointDataContainerPointer outData = OutputPointDataContainer::New();
94 outData->Reserve( inputMesh->GetNumberOfPoints() );
96 outputMesh->SetPoints( outPoints.GetPointer() );
97 outputMesh->SetPointData( outData.GetPointer() );
110 typename InputPointsContainer::ConstIterator inputPoint = inPoints->Begin();
111 typename InputPointDataContainer::ConstIterator inputData = inData->Begin();
113 typename OutputPointsContainer::Iterator outputPoint = outPoints->Begin();
114 typename OutputPointDataContainer::Iterator outputData = outData->Begin();
119 const unsigned long OutputDimension = TOutputMesh::PointDimension;
121 typename TOutputMesh::PointType point;
123 while( inputPoint != inPoints->End() )
125 for(
unsigned int i=0; i<OutputDimension; i++)
128 point[i] = inputData.Value()[i];
131 outputPoint.Value() = point;
132 outputData.Value() = inputPoint.Value();
146 template <
class TInputMesh,
class TOutputMesh>