CTL  0.6.1
Computed Tomography Library
Public Types | Public Member Functions | Private Attributes | Friends | List of all members
CTL::RectFunctionModel Class Reference

The RectFunctionModel class represents a rectangular (rect) function. More...

#include <datamodels1d.h>

Inheritance diagram for CTL::RectFunctionModel:
Inheritance graph
[legend]
Collaboration diagram for CTL::RectFunctionModel:
Collaboration graph
[legend]

Public Types

enum  { Type = 52 }
 
- Public Types inherited from CTL::AbstractDataModel
enum  { Type = 0 }
 
- Public Types inherited from CTL::SerializationInterface
enum  { Type = -1, UserType = 65536 }
 

Public Member Functions

int type () const override
 
float valueAt (float position) const override
 Returns the value from the model at position. More...
 
AbstractDataModelclone () const override
 
 RectFunctionModel (float rectBegin=-0.5f, float rectEnd=0.5f, float amplitude=1.0f)
 Constructs a RectFunctionModel with a rectangle of height amplitude covering the interval [rectBegin, rectEnd]. More...
 
QVariant parameter () const override
 
void setParameter (const QVariant &parameter) override
 
- Public Member Functions inherited from CTL::AbstractDataModel
void fromVariant (const QVariant &variant) override
 
QVariant toVariant () const override
 
bool isIntegrable () const
 
void setName (const QString &name)
 
const QString & name () const
 
- Public Member Functions inherited from CTL::SerializationInterface
virtual ~SerializationInterface ()=default
 

Private Attributes

float _rectBegin
 
float _rectEnd
 
float _amplitude
 

Friends

template<class >
struct SerializationHelper::RegisterWithSerializationHelper
 

Additional Inherited Members

- Protected Member Functions inherited from CTL::AbstractDataModel
 AbstractDataModel (const AbstractDataModel &)=default
 
 AbstractDataModel (AbstractDataModel &&)=default
 
AbstractDataModeloperator= (const AbstractDataModel &)=default
 
AbstractDataModeloperator= (AbstractDataModel &&)=default
 
- Protected Member Functions inherited from CTL::SerializationInterface
 SerializationInterface ()=default
 
 SerializationInterface (const SerializationInterface &)=default
 
 SerializationInterface (SerializationInterface &&)=default
 
SerializationInterfaceoperator= (const SerializationInterface &)=default
 
SerializationInterfaceoperator= (SerializationInterface &&)=default
 

Detailed Description

The RectFunctionModel class represents a rectangular (rect) function.

This model maps input values according to a rect function. The start and end point of the rectangle, as well as its height can be specified in the constructor of using setParameter().

Constructor & Destructor Documentation

◆ RectFunctionModel()

CTL::RectFunctionModel::RectFunctionModel ( float  rectBegin = -0.5f,
float  rectEnd = 0.5f,
float  amplitude = 1.0f 
)
explicit

Constructs a RectFunctionModel with a rectangle of height amplitude covering the interval [rectBegin, rectEnd].

This creates a model representing a rect function specified by rectBegin, rectEnd, and amplitude.

See also
valueAt()

Member Function Documentation

◆ clone()

AbstractDataModel * CTL::RectFunctionModel::clone ( ) const
overridevirtual

Creates a copy of this instance and returns a base class pointer to the new object.

Implements CTL::AbstractDataModel.

◆ parameter()

QVariant CTL::RectFunctionModel::parameter ( ) const
overridevirtual

Returns the parameters of this instance as QVariant.

This returns a QVariantMap with three key-value-pairs, representing start and end of the rect-interval as well as the amplitude.

Reimplemented from CTL::AbstractDataModel.

◆ setParameter()

void CTL::RectFunctionModel::setParameter ( const QVariant &  parameter)
overridevirtual

Sets the parameters of this instance based on the passed QVariant parameter.

Parameters can be passed by either of the following two options:

  1. As a QVariantMap with three key-value-pairs: ("Rect begin", rectBegin), ("Rect end", rectEnd), and ("Amplitude", amplitude)
  2. As a QVariantList: In this case, the list must contain three floating point values sorted in the following order: rectBegin, rectEnd, amplitude.

Reimplemented from CTL::AbstractDataModel.

◆ type()

int CTL::RectFunctionModel::type ( ) const
inlineoverridevirtual

Returns the type id of this instance.

Reimplemented from CTL::AbstractDataModel.

◆ valueAt()

float CTL::RectFunctionModel::valueAt ( float  position) const
overridevirtual

Returns the value from the model at position.

With the defining parameters of the rectanlge according to the constructor (see RectFunctionModel()), the resulting value \( f(x) \) is described by the follwoing relation:

\( f(x)=\begin{cases} 0 & x<rectBegin\\ amplitude & rectBegin \leq x < rectEnd\\ 0 & x \geq rectEnd \end{cases} \)

Implements CTL::AbstractDataModel.


The documentation for this class was generated from the following files: