ITK
6.0.0
Insight Toolkit
|
#include <itkQuadEdgeMeshFunctionBase.h>
Base class for mesh function object modifiers.
QuadEdgeMeshFunctionBase is the base class for itkQE function objects specialised in Mesh "small" (reduced in range) modification. Subclasses of itk::FunctionBase cannot modify their InputType since the signature of their Evaluate( const InputType& ) method guarantees it. Consider a method that modifies (the geometry, the connectivity or both) a mesh. For large modifications of this mesh we follow the classical itk Filter schema, which implies duplicating the mesh which can be space consuming. But for small modifications (think of the Euler operators) that an algorithm needs to apply many times, this systematic duplication can be daunting. QuadEdgeMeshFunctionBase thus offers a lightweight alternative to itk Filter. Subclasses of QuadEdgeMeshFunctionBase, which should override Evaluate(), are function objects that apply reduced and localised modifications (geometry, or connectivity) on the InputType mesh.
This class is template over the mesh type (to be modified) and the output (usually a created/deleted vertex or face) type.
Definition at line 55 of file itkQuadEdgeMeshFunctionBase.h.
Public Types | |
using | ConstPointer = SmartPointer< const Self > |
using | EdgeCellType = typename MeshType::EdgeCellType |
using | MeshType = TMesh |
using | OutputType = TOutput |
using | Pointer = SmartPointer< Self > |
using | Self = QuadEdgeMeshFunctionBase |
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 |
Public Member Functions | |
const char * | GetNameOfClass () const override |
virtual void | SetInput (MeshType *input) |
Public Member Functions inherited from itk::Object | |
unsigned long | AddObserver (const EventObject &event, Command *cmd) const |
unsigned long | AddObserver (const EventObject &event, std::function< void(const EventObject &)> function) const |
LightObject::Pointer | CreateAnother () const override |
virtual void | DebugOff () const |
virtual void | DebugOn () const |
Command * | GetCommand (unsigned long tag) |
bool | GetDebug () const |
MetaDataDictionary & | GetMetaDataDictionary () |
const MetaDataDictionary & | GetMetaDataDictionary () const |
virtual ModifiedTimeType | GetMTime () const |
virtual const TimeStamp & | GetTimeStamp () const |
bool | HasObserver (const EventObject &event) const |
void | InvokeEvent (const EventObject &) |
void | InvokeEvent (const EventObject &) const |
virtual void | Modified () const |
void | Register () const override |
void | RemoveAllObservers () |
void | RemoveObserver (unsigned long tag) const |
void | SetDebug (bool debugFlag) const |
void | SetReferenceCount (int) override |
void | UnRegister () const noexcept override |
void | SetMetaDataDictionary (const MetaDataDictionary &rhs) |
void | SetMetaDataDictionary (MetaDataDictionary &&rrhs) |
virtual void | SetObjectName (std::string _arg) |
virtual const std::string & | GetObjectName () const |
Public Member Functions inherited from itk::LightObject | |
Pointer | Clone () const |
virtual void | Delete () |
virtual int | GetReferenceCount () const |
void | Print (std::ostream &os, Indent indent=0) const |
Protected Member Functions | |
QuadEdgeMeshFunctionBase () | |
~QuadEdgeMeshFunctionBase () override=default | |
Protected Member Functions inherited from itk::Object | |
Object () | |
bool | PrintObservers (std::ostream &os, Indent indent) const |
void | PrintSelf (std::ostream &os, Indent indent) const override |
virtual void | SetTimeStamp (const TimeStamp &timeStamp) |
~Object () override | |
Protected Member Functions inherited from itk::LightObject | |
virtual LightObject::Pointer | InternalClone () const |
LightObject () | |
virtual void | PrintHeader (std::ostream &os, Indent indent) const |
virtual void | PrintTrailer (std::ostream &os, Indent indent) const |
virtual | ~LightObject () |
Protected Attributes | |
MeshType * | m_Mesh {} |
Protected Attributes inherited from itk::LightObject | |
std::atomic< int > | m_ReferenceCount {} |
Additional Inherited Members | |
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 () |
using itk::QuadEdgeMeshFunctionBase< TMesh, TOutput >::ConstPointer = SmartPointer<const Self> |
Definition at line 64 of file itkQuadEdgeMeshFunctionBase.h.
using itk::QuadEdgeMeshFunctionBase< TMesh, TOutput >::EdgeCellType = typename MeshType::EdgeCellType |
Definition at line 71 of file itkQuadEdgeMeshFunctionBase.h.
using itk::QuadEdgeMeshFunctionBase< TMesh, TOutput >::MeshType = TMesh |
Mesh type that must be modified
Definition at line 70 of file itkQuadEdgeMeshFunctionBase.h.
using itk::QuadEdgeMeshFunctionBase< TMesh, TOutput >::OutputType = TOutput |
Output type
Definition at line 74 of file itkQuadEdgeMeshFunctionBase.h.
using itk::QuadEdgeMeshFunctionBase< TMesh, TOutput >::Pointer = SmartPointer<Self> |
Definition at line 63 of file itkQuadEdgeMeshFunctionBase.h.
using itk::QuadEdgeMeshFunctionBase< TMesh, TOutput >::Self = QuadEdgeMeshFunctionBase |
Standard class type aliases.
Definition at line 61 of file itkQuadEdgeMeshFunctionBase.h.
using itk::QuadEdgeMeshFunctionBase< TMesh, TOutput >::Superclass = Object |
Definition at line 62 of file itkQuadEdgeMeshFunctionBase.h.
|
inlineprotected |
Evaluate at the specified input position
Definition at line 90 of file itkQuadEdgeMeshFunctionBase.h.
|
overrideprotecteddefault |
|
overridevirtual |
Reimplemented from itk::Object.
|
inlinevirtual |
Set the mesh to be modified
Definition at line 78 of file itkQuadEdgeMeshFunctionBase.h.
|
protected |
Mesh on which to apply the modification
Definition at line 97 of file itkQuadEdgeMeshFunctionBase.h.
Referenced by itk::QuadEdgeMeshFunctionBase< TMesh, TQEType::OriginRefType >::QuadEdgeMeshFunctionBase(), and itk::QuadEdgeMeshFunctionBase< TMesh, TQEType::OriginRefType >::SetInput().