40 Circle(
const std::vector<kjb::Vector> & ipoints);
49 Circle computeCircleGivenPoints(
const std::vector<kjb::Vector> & ipoints);
73 "The center point must be a 3d coordinate.");
79 "The radius must be a positive value.");
85 "The normal vector must have size 3.");
103 virtual void read(std::istream & in);
105 virtual void read(
const char * filename)
110 virtual void write(std::ostream & out)
const;
112 virtual void write(
const char * filename)
const
Circle_in_3d(const Vector ¢er, const double radius, const Vector &normal)
Definition: g_circle.h:60
Circle_in_3d(std::istream &in)
Definition: g_circle.h:95
const Vector & get_circle_center() const
Definition: g_circle.h:117
Abstract class to write this object to an output stream.
Definition: l_writeable.h:41
double GetRadius()
Definition: g_circle.cpp:123
double get_circle_radius() const
Definition: g_circle.h:118
Definition for the Matrix class, a thin wrapper on the KJB Matrix struct and its related functionalit...
size_type size() const
Alias to get_length(). Required to comply with stl Container concept.
Definition: m_vector.h:510
Abstract class to read this object from an input stream.
Definition: l_readable.h:39
virtual void read(const char *filename)
Reads this Readable from a file.
Definition: g_circle.h:105
virtual void write(std::ostream &out) const
Writes this Writeable to an output stream.
Definition: g_circle.cpp:415
virtual void write(const char *filename) const
Writes this Writeable to a file.
Definition: g_circle.h:112
Definition: g_circle.h:33
This class implements vectors, in the linear-algebra sense, with real-valued elements.
Definition: m_vector.h:87
double circle_radius
Definition: g_circle.h:123
virtual void write(std::ostream &out) const =0
Writes this Writeable to an output stream.
virtual Circle_in_3d & operator=(const Circle_in_3d &c)
Definition: g_circle.cpp:354
Image draw_circle(Matrix *points_to_show)
Definition: g_circle.cpp:273
Vector circle_normal
Definition: g_circle.h:124
Definition: g_circle.h:56
virtual void read(std::istream &in)
Reads this Readable from an input stream.
Definition: g_circle.cpp:364
Circle()
Definition: g_circle.cpp:35
#define KJB_THROW_2(ex, msg)
Definition: l_exception.h:48
const kjb::Vector & GetCenter()
Definition: g_circle.cpp:118
const Vector & get_circle_normal() const
Definition: g_circle.h:119
Object thrown when an argument to a function is not acceptable.
Definition: l_exception.h:377
double CalcCircle(Vector *pt1, Vector *pt2, Vector *pt3)
Definition: g_circle.cpp:93
virtual void read(std::istream &in)=0
Reads this Readable from an input stream.
bool IsPerpendicular(Vector *pt1, Vector *pt2, Vector *pt3)
Definition: g_circle.cpp:70
This class implements matrices, in the linear-algebra sense, with real-valued elements.
Definition: m_matrix.h:94
Code for a wrapper class around the C struct KJB_Image.
Circle_in_3d(const char *filename)
Definition: g_circle.h:89
Wrapped version of the C struct KJB_image.
Definition: i_image.h:76
struct memorypool points
Definition: triangle.c:637
Definition for the Vector class, a thin wrapper on the KJB Vector struct and its related functionalit...
Vector circle_center
Definition: g_circle.h:122