Libs/Optimize/Observer.h
Namespaces
Name |
---|
shapeworks User usage reporting (telemetry) |
Classes
Name | |
---|---|
class | shapeworks::Observer This class is an observer interface for classes to monitor for changes to the optimizer (observer pattern) |
struct | shapeworks::Observer::DefinedCallbacksStruct |
Source code
#pragma once
#include "itkCommand.h"
#include "itkDataObject.h"
#include "itkWeakPointer.h"
namespace shapeworks {
class Observer : public itk::DataObject {
public:
typedef Observer Self;
typedef DataObject Superclass;
typedef itk::SmartPointer<Self> Pointer;
typedef itk::SmartPointer<const Self> ConstPointer;
typedef itk::WeakPointer<const Self> ConstWeakPointer;
itkNewMacro(Self);
itkTypeMacro(Observer, DataObject);
struct DefinedCallbacksStruct {
DefinedCallbacksStruct()
: DomainAddEvent(false),
TransformSetEvent(false),
PrefixTransformSetEvent(false),
NeighborhoodSetEvent(false),
PositionSetEvent(false),
PositionAddEvent(false),
PositionRemoveEvent(false) {}
bool DomainAddEvent;
bool TransformSetEvent;
bool PrefixTransformSetEvent;
bool NeighborhoodSetEvent;
bool PositionSetEvent;
bool PositionAddEvent;
bool PositionRemoveEvent;
};
DefinedCallbacksStruct m_DefinedCallbacks;
virtual void DomainAddEventCallback(Object*, const itk::EventObject&) {}
virtual void TransformSetEventCallback(Object*, const itk::EventObject&) {}
virtual void PrefixTransformSetEventCallback(Object*, const itk::EventObject&) {}
virtual void NeighborhoodSetEventCallback(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&) {}
protected:
Observer() {}
virtual ~Observer(){};
void PrintSelf(std::ostream& os, itk::Indent indent) const { Superclass::PrintSelf(os, indent); }
private:
Observer(const Self&); // purposely not implemented
void operator=(const Self&); // purposely not implemented
};
} // namespace shapeworks
Updated on 2024-03-17 at 12:58:44 -0600