OPAL (Object Oriented Parallel Accelerator Library) 2022.1
OPAL
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
mslang::Ellipse Struct Reference

#include <Ellipse.h>

Inheritance diagram for mslang::Ellipse:
Inheritance graph
[legend]
Collaboration diagram for mslang::Ellipse:
Collaboration graph
[legend]

Public Member Functions

 Ellipse ()
 
 Ellipse (const Ellipse &right)
 
virtual ~Ellipse ()
 
virtual void print (int indentwidth)
 
virtual void writeGnuplot (std::ofstream &out) const
 
virtual void apply (std::vector< std::shared_ptr< Base > > &bfuncs)
 
virtual std::shared_ptr< Baseclone () const
 
virtual void computeBoundingBox ()
 
virtual bool isInside (const Vector_t &R) const
 
- Public Member Functions inherited from mslang::Base
 Base ()
 
 Base (const Base &right)
 
virtual ~Base ()
 
virtual std::shared_ptr< Baseclone () const =0
 
virtual void writeGnuplot (std::ofstream &out) const =0
 
virtual void computeBoundingBox ()=0
 
virtual bool isInside (const Vector_t &R) const =0
 
virtual void divideBy (std::vector< std::shared_ptr< Base > > &divisors)
 
- Public Member Functions inherited from mslang::Function
virtual ~Function ()
 
virtual void print (int indent)=0
 
virtual void apply (std::vector< std::shared_ptr< Base > > &bfuncs)=0
 

Static Public Member Functions

static bool parse_detail (iterator &it, const iterator &end, Function *fun)
 
- Static Public Member Functions inherited from mslang::Function
static bool parse (iterator &it, const iterator &end, Function *&fun)
 

Public Attributes

double width_m
 
double height_m
 
- Public Attributes inherited from mslang::Base
AffineTransformation trafo_m
 
BoundingBox2D bb_m
 
std::vector< std::shared_ptr< Base > > divisor_m
 

Additional Inherited Members

- Static Public Attributes inherited from mslang::Function
static const std::string UDouble = "([0-9]+\\.?[0-9]*([Ee][+-]?[0-9]+)?)"
 
static const std::string Double = "(-?[0-9]+\\.?[0-9]*([Ee][+-]?[0-9]+)?)"
 
static const std::string UInt = "([0-9]+)"
 
static const std::string FCall = "([a-z_]*)\\‍((.*)"
 

Detailed Description

Definition at line 7 of file Ellipse.h.

Constructor & Destructor Documentation

◆ Ellipse() [1/2]

mslang::Ellipse::Ellipse ( )
inline

Definition at line 11 of file Ellipse.h.

◆ Ellipse() [2/2]

mslang::Ellipse::Ellipse ( const Ellipse right)
inline

Definition at line 17 of file Ellipse.h.

◆ ~Ellipse()

virtual mslang::Ellipse::~Ellipse ( )
inlinevirtual

Definition at line 23 of file Ellipse.h.

Member Function Documentation

◆ apply()

void mslang::Ellipse::apply ( std::vector< std::shared_ptr< Base > > &  bfuncs)
virtual

Implements mslang::Function.

Definition at line 54 of file Ellipse.cpp.

References clone().

Here is the call graph for this function:

◆ clone()

std::shared_ptr< Base > mslang::Ellipse::clone ( ) const
virtual

Implements mslang::Base.

Definition at line 58 of file Ellipse.cpp.

References mslang::Base::bb_m, mslang::Base::divisor_m, height_m, mslang::Base::trafo_m, and width_m.

Referenced by apply().

◆ computeBoundingBox()

void mslang::Ellipse::computeBoundingBox ( )
virtual

Implements mslang::Base.

Definition at line 72 of file Ellipse.cpp.

References abs(), atan2(), mslang::Base::bb_m, cos(), mslang::Base::divisor_m, height_m, sin(), mslang::Base::trafo_m, mslang::AffineTransformation::transformFrom(), and width_m.

Here is the call graph for this function:

◆ isInside()

bool mslang::Ellipse::isInside ( const Vector_t R) const
virtual

◆ parse_detail()

bool mslang::Ellipse::parse_detail ( iterator it,
const iterator end,
Function fun 
)
static

◆ print()

void mslang::Ellipse::print ( int  indentwidth)
virtual

Implements mslang::Function.

Definition at line 10 of file Ellipse.cpp.

References endl(), mslang::AffineTransformation::getAngle(), mslang::AffineTransformation::getOrigin(), height_m, Units::rad2deg, mslang::Base::trafo_m, and width_m.

Here is the call graph for this function:

◆ writeGnuplot()

void mslang::Ellipse::writeGnuplot ( std::ofstream &  out) const
virtual

Implements mslang::Base.

Definition at line 26 of file Ellipse.cpp.

References copysign(), cos(), mslang::Base::divisor_m, endl(), height_m, pow(), sqrt(), tan(), mslang::Base::trafo_m, mslang::AffineTransformation::transformFrom(), Physics::two_pi, and width_m.

Here is the call graph for this function:

Member Data Documentation

◆ height_m

double mslang::Ellipse::height_m

Definition at line 9 of file Ellipse.h.

Referenced by clone(), computeBoundingBox(), isInside(), parse_detail(), print(), and writeGnuplot().

◆ width_m

double mslang::Ellipse::width_m

Definition at line 8 of file Ellipse.h.

Referenced by clone(), computeBoundingBox(), isInside(), parse_detail(), print(), and writeGnuplot().


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