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

#include <tinysplinecpp.h>

Collaboration diagram for ts::DeBoorNet:

Public Member Functions

 DeBoorNet ()
 
 DeBoorNet (const DeBoorNet &other)
 
 ~DeBoorNet ()
 
DeBoorNetoperator= (const DeBoorNet &other)
 
rational u () const
 
size_t k () const
 
size_t s () const
 
size_t h () const
 
size_t dim () const
 
size_t nPoints () const
 
std::vector< rationalpoints () const
 
std::vector< rationalresult () const
 
tsDeBoorNetdata ()
 
 DeBoorNet (DeBoorNet &&other)
 
DeBoorNetoperator= (DeBoorNet &&other)
 
void swap (DeBoorNet &other)
 

Private Attributes

tsDeBoorNet deBoorNet
 

Friends

void swap (DeBoorNet &left, DeBoorNet &right)
 

Detailed Description

Definition at line 11 of file tinysplinecpp.h.

Constructor & Destructor Documentation

ts::DeBoorNet::DeBoorNet ( )

Definition at line 9 of file tinysplinecpp.cpp.

10 {
12 }
tsDeBoorNet deBoorNet
Definition: tinysplinecpp.h:41
void ts_deboornet_default(tsDeBoorNet *deBoorNet)
ts::DeBoorNet::DeBoorNet ( const DeBoorNet other)

Definition at line 14 of file tinysplinecpp.cpp.

15 {
16  const tsError err = ts_deboornet_copy(&other.deBoorNet, &deBoorNet);
17  if (err < 0)
18  throw std::runtime_error(ts_enum_str(err));
19 }
tsError ts_deboornet_copy(const tsDeBoorNet *original, tsDeBoorNet *copy)
tsDeBoorNet deBoorNet
Definition: tinysplinecpp.h:41
char * ts_enum_str(const tsError err)
tsError
Definition: tinyspline.h:41
ts::DeBoorNet::~DeBoorNet ( )

Definition at line 21 of file tinysplinecpp.cpp.

22 {
24 }
tsDeBoorNet deBoorNet
Definition: tinysplinecpp.h:41
void ts_deboornet_free(tsDeBoorNet *deBoorNet)
ts::DeBoorNet::DeBoorNet ( DeBoorNet &&  other)

Definition at line 86 of file tinysplinecpp.cpp.

87 {
89  swap(other);
90 }
tsDeBoorNet deBoorNet
Definition: tinysplinecpp.h:41
void swap(DeBoorNet &other)
void ts_deboornet_default(tsDeBoorNet *deBoorNet)

Member Function Documentation

tsDeBoorNet * ts::DeBoorNet::data ( )

Definition at line 80 of file tinysplinecpp.cpp.

81 {
82  return &deBoorNet;
83 }
tsDeBoorNet deBoorNet
Definition: tinysplinecpp.h:41
size_t ts::DeBoorNet::dim ( ) const

Definition at line 56 of file tinysplinecpp.cpp.

57 {
58  return deBoorNet.dim;
59 }
size_t dim
Definition: tinyspline.h:76
tsDeBoorNet deBoorNet
Definition: tinysplinecpp.h:41
size_t ts::DeBoorNet::h ( ) const

Definition at line 51 of file tinysplinecpp.cpp.

52 {
53  return deBoorNet.h;
54 }
tsDeBoorNet deBoorNet
Definition: tinysplinecpp.h:41
size_t h
Definition: tinyspline.h:75
size_t ts::DeBoorNet::k ( ) const

Definition at line 41 of file tinysplinecpp.cpp.

42 {
43  return deBoorNet.k;
44 }
tsDeBoorNet deBoorNet
Definition: tinysplinecpp.h:41
size_t k
Definition: tinyspline.h:73
size_t ts::DeBoorNet::nPoints ( ) const

Definition at line 61 of file tinysplinecpp.cpp.

62 {
63  return deBoorNet.n_points;
64 }
tsDeBoorNet deBoorNet
Definition: tinysplinecpp.h:41
size_t n_points
Definition: tinyspline.h:77
ts::DeBoorNet & ts::DeBoorNet::operator= ( const DeBoorNet other)

Definition at line 26 of file tinysplinecpp.cpp.

27 {
28  if (&other != this) {
29  const tsError err = ts_deboornet_copy(&other.deBoorNet, &deBoorNet);
30  if (err < 0)
31  throw std::runtime_error(ts_enum_str(err));
32  }
33  return *this;
34 }
tsError ts_deboornet_copy(const tsDeBoorNet *original, tsDeBoorNet *copy)
tsDeBoorNet deBoorNet
Definition: tinysplinecpp.h:41
char * ts_enum_str(const tsError err)
tsError
Definition: tinyspline.h:41
ts::DeBoorNet & ts::DeBoorNet::operator= ( ts::DeBoorNet &&  other)

Definition at line 92 of file tinysplinecpp.cpp.

93 {
94  if (&other != this) {
96  swap(other);
97  }
98  return *this;
99 }
tsDeBoorNet deBoorNet
Definition: tinysplinecpp.h:41
void swap(DeBoorNet &other)
void ts_deboornet_free(tsDeBoorNet *deBoorNet)
std::vector< ts::rational > ts::DeBoorNet::points ( ) const

Definition at line 66 of file tinysplinecpp.cpp.

67 {
68  const ts::rational* begin = deBoorNet.points;
69  const ts::rational* end = begin + deBoorNet.n_points*deBoorNet.dim;
70  return std::vector<ts::rational>(begin, end);
71 }
size_t dim
Definition: tinyspline.h:76
tsRational * points
Definition: tinyspline.h:78
tsRational rational
Definition: tinysplinecpp.h:9
tsDeBoorNet deBoorNet
Definition: tinysplinecpp.h:41
size_t n_points
Definition: tinyspline.h:77
std::vector< ts::rational > ts::DeBoorNet::result ( ) const

Definition at line 73 of file tinysplinecpp.cpp.

74 {
75  const ts::rational* begin = deBoorNet.result;
76  const ts::rational* end = begin + deBoorNet.dim;
77  return std::vector<ts::rational>(begin, end);
78 }
size_t dim
Definition: tinyspline.h:76
tsRational * result
Definition: tinyspline.h:79
tsRational rational
Definition: tinysplinecpp.h:9
tsDeBoorNet deBoorNet
Definition: tinysplinecpp.h:41
size_t ts::DeBoorNet::s ( ) const

Definition at line 46 of file tinysplinecpp.cpp.

47 {
48  return deBoorNet.s;
49 }
tsDeBoorNet deBoorNet
Definition: tinysplinecpp.h:41
size_t s
Definition: tinyspline.h:74
void ts::DeBoorNet::swap ( ts::DeBoorNet other)

Definition at line 101 of file tinysplinecpp.cpp.

102 {
103  if (&other != this) {
104  std::swap(deBoorNet.u, other.deBoorNet.u);
105  std::swap(deBoorNet.k, other.deBoorNet.k);
106  std::swap(deBoorNet.s, other.deBoorNet.s);
107  std::swap(deBoorNet.h, other.deBoorNet.h);
108  std::swap(deBoorNet.dim, other.deBoorNet.dim);
109  std::swap(deBoorNet.n_points, other.deBoorNet.n_points);
110  std::swap(deBoorNet.points, other.deBoorNet.points);
111  std::swap(deBoorNet.result, other.deBoorNet.result);
112  }
113 }
size_t dim
Definition: tinyspline.h:76
tsRational * result
Definition: tinyspline.h:79
tsRational * points
Definition: tinyspline.h:78
tsDeBoorNet deBoorNet
Definition: tinysplinecpp.h:41
size_t k
Definition: tinyspline.h:73
size_t h
Definition: tinyspline.h:75
size_t n_points
Definition: tinyspline.h:77
tsRational u
Definition: tinyspline.h:72
size_t s
Definition: tinyspline.h:74
ts::rational ts::DeBoorNet::u ( ) const

Definition at line 36 of file tinysplinecpp.cpp.

37 {
38  return deBoorNet.u;
39 }
tsDeBoorNet deBoorNet
Definition: tinysplinecpp.h:41
tsRational u
Definition: tinyspline.h:72

Friends And Related Function Documentation

void swap ( DeBoorNet left,
DeBoorNet right 
)
friend

Definition at line 37 of file tinysplinecpp.h.

37 { left.swap(right); }

Member Data Documentation

tsDeBoorNet ts::DeBoorNet::deBoorNet
private

Definition at line 41 of file tinysplinecpp.h.


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