SourceXtractorPlusPlus  0.8
Please provide a description of the project.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Private Attributes | List of all members
ModelFitting::RotatedModelComponent Class Reference

#include <RotatedModelComponent.h>

Inheritance diagram for ModelFitting::RotatedModelComponent:
[legend]
Collaboration diagram for ModelFitting::RotatedModelComponent:
[legend]

Public Member Functions

 RotatedModelComponent (std::unique_ptr< ModelComponent > component, std::shared_ptr< BasicParameter > rotation_angle)
 
 RotatedModelComponent (RotatedModelComponent &&other)
 
virtual ~RotatedModelComponent ()
 
double getValue (double x, double y) override
 
void updateRasterizationInfo (double scale, double r_max) override
 
std::vector< ModelSamplegetSharpSampling () override
 
bool insideSharpRegion (double x, double y) override
 
- Public Member Functions inherited from ModelFitting::ModelComponent
virtual ~ModelComponent ()=default
 

Private Attributes

std::unique_ptr< ModelComponentm_component
 
std::shared_ptr< BasicParameterm_rotation_angle
 
double m_cos
 
double m_sin
 
std::size_t m_observer_id
 

Additional Inherited Members

- Public Types inherited from ModelFitting::ModelComponent
using ModelSample = std::tuple< double, double, double >
 

Detailed Description

Decorates a model component, rotating the coordinates by the given angle. As there is no scaling, the integrated value remains.

Definition at line 36 of file RotatedModelComponent.h.

Constructor & Destructor Documentation

ModelFitting::RotatedModelComponent::RotatedModelComponent ( std::unique_ptr< ModelComponent component,
std::shared_ptr< BasicParameter rotation_angle 
)

Constructor

Parameters
componentThe component to be decorated. The ownership is acquired by the new object.
rotation_angleThe rotation angle in radians.
Note
Rotation is done anti-clockwise!

Definition at line 29 of file RotatedModelComponent.cpp.

References std::move().

Here is the call graph for this function:

ModelFitting::RotatedModelComponent::RotatedModelComponent ( RotatedModelComponent &&  other)

Definition at line 41 of file RotatedModelComponent.cpp.

References std::move().

Here is the call graph for this function:

ModelFitting::RotatedModelComponent::~RotatedModelComponent ( )
virtual

Definition at line 48 of file RotatedModelComponent.cpp.

References m_observer_id, and m_rotation_angle.

Member Function Documentation

auto ModelFitting::RotatedModelComponent::getSharpSampling ( )
overridevirtual

Returns the samples computed only for the sharp area, if any.

The returned value is the integrated value of the function for the area corresponding to the sample, not the value of the function. A pixel may be computed adding up the samples that fall within.

Implements ModelFitting::ModelComponent.

Definition at line 62 of file RotatedModelComponent.cpp.

double ModelFitting::RotatedModelComponent::getValue ( double  x,
double  y 
)
overridevirtual

Returns the value of the point value of the model at the given coordinates.

Implements ModelFitting::ModelComponent.

Definition at line 52 of file RotatedModelComponent.cpp.

References m_component, m_cos, and m_sin.

bool ModelFitting::RotatedModelComponent::insideSharpRegion ( double  x,
double  y 
)
overridevirtual

Returns true if the coordinates fall inside the sharp region

Implements ModelFitting::ModelComponent.

Definition at line 73 of file RotatedModelComponent.cpp.

References m_component, m_cos, and m_sin.

void ModelFitting::RotatedModelComponent::updateRasterizationInfo ( double  scale,
double  r_max 
)
overridevirtual
Parameters
scale
r_max

Implements ModelFitting::ModelComponent.

Definition at line 58 of file RotatedModelComponent.cpp.

References m_component.

Member Data Documentation

std::unique_ptr<ModelComponent> ModelFitting::RotatedModelComponent::m_component
private

Definition at line 66 of file RotatedModelComponent.h.

Referenced by getValue(), insideSharpRegion(), and updateRasterizationInfo().

double ModelFitting::RotatedModelComponent::m_cos
private

Definition at line 69 of file RotatedModelComponent.h.

Referenced by getValue(), and insideSharpRegion().

std::size_t ModelFitting::RotatedModelComponent::m_observer_id
private

Definition at line 71 of file RotatedModelComponent.h.

Referenced by ~RotatedModelComponent().

std::shared_ptr<BasicParameter> ModelFitting::RotatedModelComponent::m_rotation_angle
private

Definition at line 67 of file RotatedModelComponent.h.

Referenced by ~RotatedModelComponent().

double ModelFitting::RotatedModelComponent::m_sin
private

Definition at line 70 of file RotatedModelComponent.h.

Referenced by getValue(), and insideSharpRegion().


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