#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 [44], [54] and [117].
Definition at line 84 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 |
![]() | |
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> |
![]() | |
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> |
![]() | |
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 |
![]() | |
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 |
![]() | |
using | ConstPointer = SmartPointer<const Self> |
using | Pointer = SmartPointer<Self> |
using | Self = Object |
using | Superclass = LightObject |
![]() | |
using | ConstPointer = SmartPointer<const Self> |
using | Pointer = SmartPointer<Self> |
using | Self = LightObject |
Static Public Member Functions | |
static Pointer | New () |
![]() | |
static Pointer | New () |
![]() | |
static Pointer | New () |
![]() | |
static Pointer | New () |
![]() | |
static bool | GetGlobalWarningDisplay () |
static void | GlobalWarningDisplayOff () |
static void | GlobalWarningDisplayOn () |
static Pointer | New () |
static void | SetGlobalWarningDisplay (bool val) |
![]() | |
static void | BreakOnError () |
static Pointer | New () |
Protected Attributes | |
WeightEnum | m_Weight {} |
![]() | |
TimeStamp | m_OutputInformationMTime {} |
bool | m_Updating {} |
![]() | |
std::atomic< int > | m_ReferenceCount {} |
Additional Inherited Members | |
![]() | |
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 92 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::InputMeshPointer = typename InputMeshType::Pointer |
Definition at line 99 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::InputMeshType = TInputMesh |
Definition at line 98 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::InputPointIdentifier = typename InputMeshType::PointIdentifier |
Definition at line 100 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::InputPointType = typename InputMeshType::PointType |
Definition at line 101 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::InputQEType = typename InputMeshType::QEType |
Definition at line 103 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::InputVectorType = typename InputMeshType::VectorType |
Definition at line 102 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::OutputCellAutoPointer = typename OutputMeshType::CellAutoPointer |
Definition at line 116 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::OutputCellDataContainer = typename OutputMeshType::CellDataContainer |
Definition at line 125 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::OutputCellIdentifier = typename OutputMeshType::CellIdentifier |
Definition at line 115 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::OutputCellsContainerConstIterator = typename OutputMeshType::CellsContainerConstIterator |
Definition at line 118 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::OutputCellsContainerPointer = typename OutputMeshType::CellsContainerConstIterator |
Definition at line 117 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::OutputCellType = typename OutputMeshType::CellType |
Definition at line 114 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::OutputFaceNormalComponentType = typename OutputFaceNormalType::ValueType |
Definition at line 133 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::OutputFaceNormalType = typename OutputMeshTraits::CellPixelType |
Definition at line 132 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::OutputMeshPointer = typename OutputMeshType::Pointer |
Definition at line 106 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::OutputMeshTraits = typename OutputMeshType::MeshTraits |
Definition at line 128 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::OutputMeshType = TOutputMesh |
Definition at line 105 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::OutputPointDataContainer = typename OutputMeshType::PointDataContainer |
Definition at line 126 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::OutputPointIdentifier = typename OutputMeshType::PointIdentifier |
Definition at line 110 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::OutputPointIdIterator = typename OutputMeshType::PointIdIterator |
Definition at line 111 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::OutputPointsContainerIterator = typename OutputMeshType::PointsContainerIterator |
Definition at line 113 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::OutputPointsContainerPointer = typename OutputMeshType::PointsContainerPointer |
Definition at line 112 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::OutputPointType = typename OutputMeshType::PointType |
Definition at line 107 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::OutputPolygonAutoPointer = typename OutputPolygonType::SelfAutoPointer |
Definition at line 123 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::OutputPolygonType = QuadEdgeMeshPolygonCell<OutputCellType> |
Definition at line 122 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::OutputQEType = typename OutputMeshType::QEType |
Definition at line 109 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::OutputVectorType = typename OutputPointType::VectorType |
Definition at line 108 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::OutputVertexNormalComponentType = typename OutputVertexNormalType::ValueType |
Definition at line 130 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::OutputVertexNormalType = typename OutputMeshTraits::PixelType |
Definition at line 129 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::Pointer = SmartPointer<Self> |
Definition at line 91 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::Self = NormalQuadEdgeMeshFilter |
Definition at line 89 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::Superclass = QuadEdgeMeshToQuadEdgeMeshFilter<TInputMesh, TOutputMesh> |
Definition at line 90 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::TriangleType = TriangleHelper<OutputPointType> |
Definition at line 120 of file itkNormalQuadEdgeMeshFilter.h.
using itk::NormalQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::WeightEnum = NormalQuadEdgeMeshFilterEnums::Weight |
Definition at line 135 of file itkNormalQuadEdgeMeshFilter.h.
|
protected |
Referenced by GetNameOfClass().
|
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.
|
virtual |
Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.
Reimplemented from itk::MeshToMeshFilter< TInputMesh, TOutputMesh >.
|
overrideprotectedvirtual |
Reimplemented from itk::ProcessObject.
|
overridevirtual |
Reimplemented from itk::MeshToMeshFilter< TInputMesh, TOutputMesh >.
References NormalQuadEdgeMeshFilter().
|
virtual |
References Weight().
|
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 |
References Weight().
|
protected |
Definition of the weight in the 0-ring used for the vertex normal computation. By default m_Weight = THURMER;.
Referenced by GetWeight(), and SetWeight().
|
protected |
Definition at line 153 of file itkNormalQuadEdgeMeshFilter.h.