LibreCAD
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
lc::MetaLineWidthByValue Class Reference

#include <metalinewidth.h>

Inheritance diagram for lc::MetaLineWidthByValue:
Collaboration diagram for lc::MetaLineWidthByValue:

Public Member Functions

 MetaLineWidthByValue ()
 
 MetaLineWidthByValue (const double width)
 
virtual ~MetaLineWidthByValue ()=default
 
double width () const
 
virtual const std::string metaTypeID () const override
 
virtual const std::string id () const override
 
const std::string name () const override
 
- Public Member Functions inherited from lc::MetaType
 MetaType ()
 
virtual ~MetaType ()=default
 

Private Attributes

double _width
 

Friends

std::ostream & operator<< (std::ostream &os, const MetaLineWidthByValue &lineWidth)
 

Additional Inherited Members

- Static Public Member Functions inherited from lc::MetaLineWidth
static const std::string LCMETANAME ()
 

Detailed Description

Definition at line 39 of file metalinewidth.h.

Constructor & Destructor Documentation

MetaLineWidthByValue::MetaLineWidthByValue ( )

Definition at line 22 of file metalinewidth.cpp.

22  :
23  MetaLineWidth(),
25  _width(0.) {
26 
27  assert(_width >= 0. && "Line width must be >= 0.");
28 }
MetaLineWidthByValue::MetaLineWidthByValue ( const double  width)

Definition at line 30 of file metalinewidth.cpp.

30  :
31  MetaLineWidth(),
33  _width(width) {
34 
35  assert(_width>=0. && "Line width must be >= 0.");
36 }
virtual lc::MetaLineWidthByValue::~MetaLineWidthByValue ( )
virtualdefault

Member Function Documentation

virtual const std::string lc::MetaLineWidthByValue::id ( ) const
inlineoverridevirtual

ID or primary key of this MetaType. This can be used in a storage manager to identify each individual meta type.

Reimplemented from lc::MetaLineWidth.

Definition at line 49 of file metalinewidth.h.

49  {
50  return MetaLineWidthByValue::LCMETANAME() + "_" + std::to_string(_width);
51  }
static const std::string LCMETANAME()
const std::string MetaLineWidthByValue::metaTypeID ( ) const
overridevirtual

metaTypeName, for example '_LAYER' this method isn't meant to be used for RTTI purpose, do use dynamic_casts or static_casts for that.

Implements lc::EntityMetaType.

Definition at line 38 of file metalinewidth.cpp.

38  {
40 }
static const std::string LCMETANAME()
const std::string MetaLineWidthByValue::name ( ) const
overridevirtual

Name of this meta type, for layer this can be '0' 'My Layer' etc, for LineStyles this can be 'DASHDOT' .

Implements lc::DocumentMetaType.

Definition at line 46 of file metalinewidth.cpp.

46  {
47  return LCMETANAME();
48 }
static const std::string LCMETANAME()
double MetaLineWidthByValue::width ( ) const

Definition at line 42 of file metalinewidth.cpp.

42  {
43  return _width;
44 }

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  os,
const MetaLineWidthByValue lineWidth 
)
friend

Definition at line 59 of file metalinewidth.h.

59  {
60  os << "MetaLineWidthByValue(width=" << lineWidth.width() << ")";
61  return os;
62  }

Member Data Documentation

double lc::MetaLineWidthByValue::_width
private

Definition at line 56 of file metalinewidth.h.


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