// SPDX-License-Identifier: MIT
#include "Ellipse.hh"
#include <plugin/PluginRegister.hh>
#include "Shape.hh"
namespace plugin
{
namespace example
{
Ellipse::Ellipse( )
: semiAxisA( 0 ),
semiAxisB( 0 )
{
}
Ellipse::Ellipse( Config const& cfg )
: semiAxisA( cfg.a ),
semiAxisB( cfg.b )
{
}
Ellipse::Ellipse( Ellipse const& object )
: Shape( object ),
semiAxisA( object.semiAxisA ),
semiAxisB( object.semiAxisB )
{
}
void Ellipse::setSize( unsigned int value )
{
semiAxisA = value;
semiAxisB = value;
}
unsigned int Ellipse::getSize( ) const
{
return semiAxisA; // returns semi-axis a
}
void Ellipse::printOn( std::ostream& stream ) const
{
stream << "Ellipse a:" << semiAxisA << " b:" << semiAxisB << '\n';
}
REGISTER_WITH_CONFIG( Ellipse, Shape, Ellipse::Config );
} // namespace example
} // namespace plugin