ITK
6.0.0
Insight Toolkit
|
#include <itkNormalQuadEdgeMeshFilter.h>
Filter which computes normals to faces and vertices and store it in the output mesh. Normals to face are first computed, then normals to vertices are computed as linear combination of neighbor face normals, i.e.
\[ n_v = \frac{\sum_{i=0}^{N_f} \omega_i \cdot n_i}{\| \sum_{k=0}^{N_f} \omega_x \cdot n_k\|} \]
The difference between each method relies in the definition of the weight \( \omega_i \) that you can specify by the method SetWeight.
These weights are defined in the literature:
Definition at line 93 of file itkNormalQuadEdgeMeshFilter.h.
Public Types | |
using | ConstPointer = SmartPointer< const Self > |
using | InputMeshPointer = typename InputMeshType::Pointer |
using | InputMeshType = TInputMesh |
using | InputPointIdentifier = typename InputMeshType::PointIdentifier |
using | InputPointType = typename InputMeshType::PointType |
using | InputQEType = typename InputMeshType::QEType |
using | InputVectorType = typename InputMeshType::VectorType |
using | OutputCellAutoPointer = typename OutputMeshType::CellAutoPointer |
using | OutputCellDataContainer = typename OutputMeshType::CellDataContainer |
using | OutputCellIdentifier = typename OutputMeshType::CellIdentifier |
using | OutputCellsContainerConstIterator = typename OutputMeshType::CellsContainerConstIterator |
using | OutputCellsContainerPointer = typename OutputMeshType::CellsContainerConstIterator |
using | OutputCellType = typename OutputMeshType::CellType |
using | OutputFaceNormalComponentType = typename OutputFaceNormalType::ValueType |
using | OutputFaceNormalType = typename OutputMeshTraits::CellPixelType |
using | OutputMeshPointer = typename OutputMeshType::Pointer |
using | OutputMeshTraits = typename OutputMeshType::MeshTraits |
using | OutputMeshType = TOutputMesh |
using | OutputPointDataContainer = typename OutputMeshType::PointDataContainer |
using | OutputPointIdentifier = typename OutputMeshType::PointIdentifier |
using | OutputPointIdIterator = typename OutputMeshType::PointIdIterator |
using | OutputPointsContainerIterator = typename OutputMeshType::PointsContainerIterator |
using | OutputPointsContainerPointer = typename OutputMeshType::PointsContainerPointer |
using | OutputPointType = typename OutputMeshType::PointType |
using | OutputPolygonAutoPointer = typename OutputPolygonType::SelfAutoPointer |
using | OutputPolygonType = QuadEdgeMeshPolygonCell< OutputCellType > |
using | OutputQEType = typename OutputMeshType::QEType |
using | OutputVectorType = typename OutputPointType::VectorType |
using | OutputVertexNormalComponentType = typename OutputVertexNormalType::ValueType |
using | OutputVertexNormalType = typename OutputMeshTraits::PixelType |
using | Pointer = SmartPointer< Self > |
using | Self = NormalQuadEdgeMeshFilter |
using | Superclass = QuadEdgeMeshToQuadEdgeMeshFilter< TInputMesh, TOutputMesh > |
using | TriangleType = TriangleHelper< OutputPointType > |
using | WeightEnum = NormalQuadEdgeMeshFilterEnums::Weight |
Public Types inherited from itk::QuadEdgeMeshToQuadEdgeMeshFilter< TInputMesh, TOutputMesh > | |
using | ConstPointer = SmartPointer< const Self > |
using | InputCellDataContainer = typename InputMeshType::CellDataContainer |
using | InputCellsContainerConstIterator = typename InputMeshType::CellsContainerConstIterator |
using | InputCellsContainerConstPointer = typename InputMeshType::CellsContainerConstPointer |
using | InputCellTraits = typename InputMeshType::CellTraits |
using | InputCoordinateType = typename InputMeshType::CoordinateType |
using | InputEdgeCellType = typename InputMeshType::EdgeCellType |
using | InputMeshConstPointer = typename InputMeshType::ConstPointer |
using | InputMeshPointer = typename InputMeshType::Pointer |
using | InputMeshType = TInputMesh |
using | InputPointDataContainer = typename InputMeshType::PointDataContainer |
using | InputPointDataContainerConstPointer = typename InputPointDataContainer::ConstPointer |
using | InputPointIdentifier = typename InputMeshType::PointIdentifier |
using | InputPointIdList = typename InputMeshType::PointIdList |
using | InputPointsContainerConstIterator = typename InputMeshType::PointsContainerConstIterator |
using | InputPointsContainerConstPointer = typename InputMeshType::PointsContainerConstPointer |
using | InputPointsIdInternalIterator = typename InputCellTraits::PointIdInternalIterator |
using | InputPointType = typename InputMeshType::PointType |
using | InputPolygonCellType = typename InputMeshType::PolygonCellType |
using | InputQEIterator = typename InputQEPrimal::IteratorGeom |
using | InputQEPrimal = typename InputMeshType::QEPrimal |
using | InputVectorType = typename InputMeshType::VectorType |
using | OutputCellDataContainer = typename OutputMeshType::CellDataContainer |
using | OutputCoordinateType = typename OutputMeshType::CoordinateType |
using | OutputMeshConstPointer = typename OutputMeshType::ConstPointer |
using | OutputMeshPointer = typename OutputMeshType::Pointer |
using | OutputMeshType = TOutputMesh |
using | OutputPointDataContainer = typename OutputMeshType::PointDataContainer |
using | OutputPointIdentifier = typename OutputMeshType::PointIdentifier |
using | OutputPointsContainerConstPointer = typename OutputMeshType::PointsContainerConstPointer |
using | OutputPointsContainerIterator = typename OutputMeshType::PointsContainerIterator |
using | OutputPointsContainerPointer = typename OutputMeshType::PointsContainerPointer |
using | OutputPointType = typename OutputMeshType::PointType |
using | OutputQEIterator = typename OutputQEPrimal::IteratorGeom |
using | OutputQEPrimal = typename OutputMeshType::QEPrimal |
using | OutputVectorType = typename OutputMeshType::VectorType |
using | Pointer = SmartPointer< Self > |
using | Self = QuadEdgeMeshToQuadEdgeMeshFilter |
using | Superclass = MeshToMeshFilter< TInputMesh, TOutputMesh > |
Public Types inherited from itk::MeshToMeshFilter< TInputMesh, TOutputMesh > | |
using | ConstPointer = SmartPointer< const Self > |
using | InputMeshPointer = typename InputMeshType::Pointer |
using | InputMeshType = TInputMesh |
using | OutputMeshPointer = typename OutputMeshType::Pointer |
using | OutputMeshType = TOutputMesh |
using | Pointer = SmartPointer< Self > |
using | Self = MeshToMeshFilter |
using | Superclass = MeshSource< TOutputMesh > |
Public Types inherited from itk::MeshSource< TOutputMesh > | |
using | ConstPointer = SmartPointer< const Self > |
using | DataObjectIdentifierType = Superclass::DataObjectIdentifierType |
using | DataObjectPointer = DataObject::Pointer |
using | OutputMeshPointer = typename OutputMeshType::Pointer |
using | OutputMeshType = TOutputMesh |
using | Pointer = SmartPointer< Self > |
using | Self = MeshSource |
using | Superclass = ProcessObject |
using | DataObjectPointerArraySizeType = ProcessObject::DataObjectPointerArraySizeType |
Public Types inherited from itk::ProcessObject | |
using | ConstPointer = SmartPointer< const Self > |
using | DataObjectIdentifierType = DataObject::DataObjectIdentifierType |
using | DataObjectPointer = DataObject::Pointer |
using | DataObjectPointerArray = std::vector< DataObjectPointer > |
using | DataObjectPointerArraySizeType = DataObjectPointerArray::size_type |
using | MultiThreaderType = MultiThreaderBase |
using | NameArray = std::vector< DataObjectIdentifierType > |
using | Pointer = SmartPointer< Self > |
using | Self = ProcessObject |
using | Superclass = Object |
Public Types inherited from itk::Object | |
using | ConstPointer = SmartPointer< const Self > |
using | Pointer = SmartPointer< Self > |
using | Self = Object |
using | Superclass = LightObject |
Public Types inherited from itk::LightObject | |
using | ConstPointer = SmartPointer< const Self > |
using | Pointer = SmartPointer< Self > |
using | Self = LightObject |
Static Public Member Functions | |
static Pointer | New () |
Static Public Member Functions inherited from itk::QuadEdgeMeshToQuadEdgeMeshFilter< TInputMesh, TOutputMesh > | |
static Pointer | New () |
Static Public Member Functions inherited from itk::MeshToMeshFilter< TInputMesh, TOutputMesh > | |
static Pointer | New () |
Static Public Member Functions inherited from itk::MeshSource< TOutputMesh > | |
static Pointer | New () |
Static Public Member Functions inherited from itk::Object | |
static bool | GetGlobalWarningDisplay () |
static void | GlobalWarningDisplayOff () |
static void | GlobalWarningDisplayOn () |
static Pointer | New () |
static void | SetGlobalWarningDisplay (bool val) |
Static Public Member Functions inherited from itk::LightObject | |
static void | BreakOnError () |
static Pointer | New () |
Protected Attributes | |
WeightEnum | m_Weight {} |
Protected Attributes inherited from itk::ProcessObject | |
TimeStamp | m_OutputInformationMTime {} |
bool | m_Updating {} |
Protected Attributes inherited from itk::LightObject | |
std::atomic< int > | m_ReferenceCount {} |
Additional Inherited Members | |
Static Protected Member Functions inherited from itk::ProcessObject | |
template<typename TSourceObject > | |
static void | MakeRequiredOutputs (TSourceObject &sourceObject, const DataObjectPointerArraySizeType numberOfRequiredOutputs) |
static constexpr float | progressFixedToFloat (uint32_t fixed) |
static uint32_t | progressFloatToFixed (float f) |
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::ConstPointer = SmartPointer<const Self> |
Definition at line 101 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::InputMeshPointer = typename InputMeshType::Pointer |
Definition at line 108 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::InputMeshType = TInputMesh |
Definition at line 107 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::InputPointIdentifier = typename InputMeshType::PointIdentifier |
Definition at line 109 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::InputPointType = typename InputMeshType::PointType |
Definition at line 110 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::InputQEType = typename InputMeshType::QEType |
Definition at line 112 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::InputVectorType = typename InputMeshType::VectorType |
Definition at line 111 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::OutputCellAutoPointer = typename OutputMeshType::CellAutoPointer |
Definition at line 125 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::OutputCellDataContainer = typename OutputMeshType::CellDataContainer |
Definition at line 134 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::OutputCellIdentifier = typename OutputMeshType::CellIdentifier |
Definition at line 124 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::OutputCellsContainerConstIterator = typename OutputMeshType::CellsContainerConstIterator |
Definition at line 127 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::OutputCellsContainerPointer = typename OutputMeshType::CellsContainerConstIterator |
Definition at line 126 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::OutputCellType = typename OutputMeshType::CellType |
Definition at line 123 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::OutputFaceNormalComponentType = typename OutputFaceNormalType::ValueType |
Definition at line 142 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::OutputFaceNormalType = typename OutputMeshTraits::CellPixelType |
Definition at line 141 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::OutputMeshPointer = typename OutputMeshType::Pointer |
Definition at line 115 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::OutputMeshTraits = typename OutputMeshType::MeshTraits |
Definition at line 137 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::OutputMeshType = TOutputMesh |
Definition at line 114 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::OutputPointDataContainer = typename OutputMeshType::PointDataContainer |
Definition at line 135 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::OutputPointIdentifier = typename OutputMeshType::PointIdentifier |
Definition at line 119 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::OutputPointIdIterator = typename OutputMeshType::PointIdIterator |
Definition at line 120 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::OutputPointsContainerIterator = typename OutputMeshType::PointsContainerIterator |
Definition at line 122 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::OutputPointsContainerPointer = typename OutputMeshType::PointsContainerPointer |
Definition at line 121 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::OutputPointType = typename OutputMeshType::PointType |
Definition at line 116 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::OutputPolygonAutoPointer = typename OutputPolygonType::SelfAutoPointer |
Definition at line 132 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::OutputPolygonType = QuadEdgeMeshPolygonCell<OutputCellType> |
Definition at line 131 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::OutputQEType = typename OutputMeshType::QEType |
Definition at line 118 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::OutputVectorType = typename OutputPointType::VectorType |
Definition at line 117 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::OutputVertexNormalComponentType = typename OutputVertexNormalType::ValueType |
Definition at line 139 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::OutputVertexNormalType = typename OutputMeshTraits::PixelType |
Definition at line 138 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::Pointer = SmartPointer<Self> |
Definition at line 100 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::Self = NormalQuadEdgeMeshFilter |
Definition at line 98 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::Superclass = QuadEdgeMeshToQuadEdgeMeshFilter<TInputMesh, TOutputMesh> |
Definition at line 99 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::TriangleType = TriangleHelper<OutputPointType> |
Definition at line 129 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::WeightEnum = NormalQuadEdgeMeshFilterEnums::Weight |
Definition at line 144 of file itkNormalQuadEdgeMeshFilter.h.
|
protected |
|
overrideprotecteddefault |
|
protected |
Compute the normal to all faces on the mesh.
|
protected |
Compute the normal to all vertices on the mesh.
|
protected |
Compute the normal to a face iPoly. It assumes that iPoly != 0 and iPoly is a Triangle, i.e. 3 points only.
|
protected |
Compute the normal to one vertex by a weighted sum of the faces normal in the 0-ring.
|
overrideprotectedvirtual |
Reimplemented from itk::ProcessObject.
|
overridevirtual |
Reimplemented from itk::QuadEdgeMeshToQuadEdgeMeshFilter< TInputMesh, TOutputMesh >.
|
virtual |
|
static |
|
overrideprotectedvirtual |
Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.
Reimplemented from itk::MeshSource< TOutputMesh >.
|
virtual |
|
protected |
Definition of the weight in the 0-ring used for the vertex normal computation. By default m_Weight = THURMER;.
|
protected |
Definition at line 162 of file itkNormalQuadEdgeMeshFilter.h.