Skip to content

shapeworks::Observer

This class is an observer interface for classes to monitor for changes to the optimizer (observer pattern)

#include <Observer.h>

Inherits from itk::DataObject

Inherited by shapeworks::GenericContainerArray< TNumericType >, shapeworks::GenericContainerArray< T >, shapeworks::LegacyShapeMatrix, shapeworks::ShapeGradientMatrix, shapeworks::ShapeMatrix

Public Classes

Name
struct DefinedCallbacksStruct

Public Types

Name
typedef Observer Self
typedef DataObject Superclass
typedef itk::SmartPointer< Self > Pointer
typedef itk::SmartPointer< const Self > ConstPointer
typedef itk::WeakPointer< const Self > ConstWeakPointer

Public Functions

Name
itkNewMacro(Self )
itkTypeMacro(Observer , DataObject )
virtual void DomainAddEventCallback(Object * , const itk::EventObject & )
virtual void TransformSetEventCallback(Object * , const itk::EventObject & )
virtual void PrefixTransformSetEventCallback(Object * , const itk::EventObject & )
virtual void PositionSetEventCallback(Object * , const itk::EventObject & )
virtual void PositionAddEventCallback(Object * , const itk::EventObject & )
virtual void PositionRemoveEventCallback(Object * , const itk::EventObject & )
void set_suspended(bool suspended)
bool is_suspended() const

Protected Functions

Name
Observer()
virtual ~Observer()
void PrintSelf(std::ostream & os, itk::Indent indent) const

Public Attributes

Name
DefinedCallbacksStruct m_DefinedCallbacks

Public Types Documentation

typedef Self

typedef Observer shapeworks::Observer::Self;

Standard class typedefs

typedef Superclass

typedef DataObject shapeworks::Observer::Superclass;

typedef Pointer

typedef itk::SmartPointer<Self> shapeworks::Observer::Pointer;

typedef ConstPointer

typedef itk::SmartPointer<const Self> shapeworks::Observer::ConstPointer;

typedef ConstWeakPointer

typedef itk::WeakPointer<const Self> shapeworks::Observer::ConstWeakPointer;

Public Functions Documentation

function itkNewMacro

itkNewMacro(
    Self 
)

Method for creation through the object factory.

function itkTypeMacro

itkTypeMacro(
    Observer ,
    DataObject 
)

Run-time type information (and related methods).

function DomainAddEventCallback

inline virtual void DomainAddEventCallback(
    Object * ,
    const itk::EventObject & 
)

Reimplemented by: shapeworks::GenericContainerArray::DomainAddEventCallback, shapeworks::GenericContainerArray::DomainAddEventCallback, shapeworks::LegacyShapeMatrix::DomainAddEventCallback, shapeworks::LinearRegressionShapeMatrix::DomainAddEventCallback, shapeworks::MixedEffectsShapeMatrix::DomainAddEventCallback, shapeworks::ShapeGradientMatrix::DomainAddEventCallback, shapeworks::ShapeMatrix::DomainAddEventCallback

Callbacks that may be defined by a subclass. If a subclass defines one of these callback methods, the corresponding flag in m_DefinedCallbacks should be set to true so that the ParticleSystem will know to register the appropriate event with this method.

function TransformSetEventCallback

inline virtual void TransformSetEventCallback(
    Object * ,
    const itk::EventObject & 
)

function PrefixTransformSetEventCallback

inline virtual void PrefixTransformSetEventCallback(
    Object * ,
    const itk::EventObject & 
)

function PositionSetEventCallback

inline virtual void PositionSetEventCallback(
    Object * ,
    const itk::EventObject & 
)

Reimplemented by: shapeworks::LegacyShapeMatrix::PositionSetEventCallback, shapeworks::LinearRegressionShapeMatrix::PositionSetEventCallback, shapeworks::MixedEffectsShapeMatrix::PositionSetEventCallback, shapeworks::ShapeGradientMatrix::PositionSetEventCallback, shapeworks::ShapeMatrix::PositionSetEventCallback

function PositionAddEventCallback

inline virtual void PositionAddEventCallback(
    Object * ,
    const itk::EventObject & 
)

Reimplemented by: shapeworks::GenericContainerArray::PositionAddEventCallback, shapeworks::GenericContainerArray::PositionAddEventCallback, shapeworks::LegacyShapeMatrix::PositionAddEventCallback, shapeworks::LinearRegressionShapeMatrix::PositionAddEventCallback, shapeworks::MixedEffectsShapeMatrix::PositionAddEventCallback, shapeworks::ShapeGradientMatrix::PositionAddEventCallback, shapeworks::ShapeMatrix::PositionAddEventCallback

function PositionRemoveEventCallback

inline virtual void PositionRemoveEventCallback(
    Object * ,
    const itk::EventObject & 
)

Reimplemented by: shapeworks::GenericContainerArray::PositionRemoveEventCallback, shapeworks::GenericContainerArray::PositionRemoveEventCallback, shapeworks::LegacyShapeMatrix::PositionRemoveEventCallback, shapeworks::LinearRegressionShapeMatrix::PositionRemoveEventCallback, shapeworks::MixedEffectsShapeMatrix::PositionRemoveEventCallback, shapeworks::ShapeGradientMatrix::PositionRemoveEventCallback, shapeworks::ShapeMatrix::PositionRemoveEventCallback

function set_suspended

inline void set_suspended(
    bool suspended
)

Stop this observer from reacting to events. The correspondence matrices lay themselves out assuming every shape holds the same number of particles, which is not true while particles are still being spread over a single reference shape. Suspending them until every shape has been populated avoids that, and a later SynchronizePositions() brings them back up to date.

function is_suspended

inline bool is_suspended() const

Protected Functions Documentation

function Observer

inline Observer()

function ~Observer

inline virtual ~Observer()

function PrintSelf

inline void PrintSelf(
    std::ostream & os,
    itk::Indent indent
) const

Public Attributes Documentation

variable m_DefinedCallbacks

DefinedCallbacksStruct m_DefinedCallbacks;

Updated on 2026-08-09 at 22:28:03 +0000