34 mcerr <<
"error in polyline:Gpt(int n): n>qpt: n=" << n <<
" qpt=" <<
qpt
43 mcerr <<
"error in polyline:Gpt(int n): n>qsl: n=" << n <<
" qsl=" <<
qsl
143std::ostream&
operator<<(std::ostream& file,
const polyline_pl& p);
168 mcerr <<
"ERROR in polygon::polygon(polyline_pl& fpl, int fs_convex)\n";
169 mcerr <<
"fpl.Gqpt() < 4 || fpl.Gpt(0)!=fpl.Gpt(qpt-1)\n";
176std::ostream&
operator<<(std::ostream& file,
const polygon& p);
259 dir1(unit_vec(fdir1)),
260 dir2(unit_vec(fdir2)) {
265std::ostream&
operator<<(std::ostream& file,
const spquadr& p);
Plane, defined by defined by a point and a vector normal to the plane.
point cross(const straight &sl) const
int range(const point &fpt, const vec &dir, vfloat &rng, point &fptenr, vfloat prec) const
polygon(const polygon &plg)
int check_point_in(const point &fpt, vfloat prec) const
polygon(const polyline_pl &fpl, int fs_convex)
polygon & operator=(const polygon &fpl)
polyline_pl(const plane &fpn, const point *fpt, int fqpt)
friend std::ostream & operator<<(std::ostream &file, const polyline_pl &p)
polyline_pl & operator=(const polyline_pl &fpl)
polyline_pl(const polyline_pl &pl)
virtual absref_transmit get_components() override
static absrefabsref::* aref_pl
polyline & operator=(const polyline &fpl)
virtual absref_transmit get_components() override
friend std::ostream & operator<<(std::ostream &file, const polyline &p)
void polyline_init(const point *fpt, int fqpt)
straight Gsl(int n) const
vfloat dist_two_inter(polyline &pl, vfloat prec) const
Distance between two intervals.
friend int plane::cross(const polyline &pll, point *crpt, int &qcrpt, polyline *crpll, int &qcrpll, vfloat prec) const
int check_point_in(const point &fpt, vfloat prec) const
vfloat distance(const point &fpt) const
static absrefabsref::*[4] aref_rct
vec dir1
Directions of sides, unit length.
vec dir2
Directions of sides, unit length.
virtual absref_transmit get_components() override
friend std::ostream & operator<<(std::ostream &file, const spquadr &p)
vfloat apos(const straight &fsl, vfloat prec) const
vfloat apos(const point &fpt) const
Position in units of radians.
vfloat awidth
Width of total plane in units of radians.
point pt_angle_rad(vfloat rad, vfloat angle)
vfloat perpos(const point &fpt) const
Perpendicular position. Distance from basis sl[0].
static absrefabsref::*[4] aref_sp
virtual absref_transmit get_components() override
vfloat perpos(const straight &fsl, vfloat prec) const
Definition of straight line, as combination of vector and point.
vfloat distance(const straight &sl, int &type_of_cross, point pt[2]) const
std::ostream & operator<<(std::ostream &file, const BGMesh &bgm)
DoubleAc acos(const DoubleAc &f)
vfloat cos2vec(const vec &r1, const vec &r2)
int cross4pllines(const polyline pl[4], vfloat precision, straight &sl, point ptc[4][2])