#include <SECurve.h>

Inherits SEProperty, and Loggable.

Public Member Functions

 SECurve (Logger *logger=nullptr)
 
virtual ~SECurve ()
 
void Invalidate () override
 
virtual bool IsValid () const override
 
virtual void Copy (const SECurve &src)
 
virtual bool HasSegment () const
 
virtual void SortSegments ()
 
SESegmentConstantAddConstantSegment ()
 
SESegmentLinearAddLinearSegment ()
 
SESegmentParabolicAddParabolicSegment ()
 
SESegmentSigmoidalAddSigmoidalSegment ()
 
virtual const std::vector< SESegment * > & GetSegments ()
 
virtual const std::vector< const SESegment * > GetSegments () const
 
virtual std::string ToString () const
 
virtual void ToString (std::ostream &str) const
 
- Public Member Functions inherited from SEProperty
 SEProperty ()
 
virtual ~SEProperty ()
 
virtual void Invalidate ()=0
 
virtual bool IsValid () const =0
 
- Public Member Functions inherited from Loggable
 Loggable (Logger *logger=nullptr)
 
 Loggable (std::string const &logfile)
 
virtual ~Loggable ()
 
virtual LoggerGetLogger () const
 
virtual void SetLogger (Logger &logger)
 
virtual void Debug (std::string const &msg) const
 
virtual void Debug (std::stringstream &msg) const
 
virtual void Debug (std::ostream &msg) const
 
virtual void Info (std::string const &msg) const
 
virtual void Info (std::stringstream &msg) const
 
virtual void Info (const std::stringstream &msg) const
 
virtual void Info (std::ostream &msg) const
 
virtual void Warning (std::string const &msg) const
 
virtual void Warning (std::stringstream &msg) const
 
virtual void Warning (std::ostream &msg) const
 
virtual void Error (std::string const &msg) const
 
virtual void Error (std::stringstream &msg) const
 
virtual void Error (std::ostream &msg) const
 
virtual void Fatal (std::string const &msg) const
 
virtual void Fatal (std::stringstream &msg) const
 
virtual void Fatal (std::ostream &msg) const
 

Protected Attributes

std::vector< SESegment * > m_Segments
 
- Protected Attributes inherited from Loggable
bool myLogger
 
Loggerm_Logger
 

Constructor & Destructor Documentation

◆ SECurve()

SECurve::SECurve ( Logger logger = nullptr)

◆ ~SECurve()

SECurve::~SECurve ( )
virtual

Member Function Documentation

◆ AddConstantSegment()

SESegmentConstant & SECurve::AddConstantSegment ( )

◆ AddLinearSegment()

SESegmentLinear & SECurve::AddLinearSegment ( )

◆ AddParabolicSegment()

SESegmentParabolic & SECurve::AddParabolicSegment ( )

◆ AddSigmoidalSegment()

SESegmentSigmoidal & SECurve::AddSigmoidalSegment ( )

◆ Copy()

void SECurve::Copy ( const SECurve src)
virtual

◆ GetSegments() [1/2]

const std::vector< SESegment * > & SECurve::GetSegments ( )
virtual

◆ GetSegments() [2/2]

const std::vector< const SESegment * > SECurve::GetSegments ( ) const
virtual

◆ HasSegment()

bool SECurve::HasSegment ( ) const
virtual

◆ Invalidate()

void SECurve::Invalidate ( )
overridevirtual

Implements SEProperty.

◆ IsValid()

bool SECurve::IsValid ( ) const
overridevirtual

\TODO Make sure no segment gaps and anything else

Implements SEProperty.

◆ SortSegments()

void SECurve::SortSegments ( )
virtual

◆ ToString() [1/2]

std::string SECurve::ToString ( ) const
virtual

◆ ToString() [2/2]

void SECurve::ToString ( std::ostream &  str) const
virtual

Member Data Documentation

◆ m_Segments

std::vector<SESegment*> SECurve::m_Segments
protected

Distributed under the Apache License, Version 2.0.

See accompanying NOTICE file for details.