22 : piv(fpiv), dir(), rad(frad) {
28 :
absref(f), piv(f.piv), dir(f.dir), rad(f.rad) {
33 aref_tran.pass(
new absref_transmit(2,
aref));
37 pvecerror(
"int operator==(const circumf &f1, const circumf &f2)");
46 pvecerror(
"int apeq(const circumf &f1, const circumf &f2, vfloat prec)");
47 if (check_par(f1.
dir, f2.
dir, prec) == 0)
return 0;
54 pvecerror(
"int circumf::check_point_in(const point &fp, vfloat prec) const");
56 if (check_perp(d,
dir, prec) != 1)
return 0;
57 if (
apeq(length(d),
rad))
return 1;
61 pvecerror(
"int circumf::cross(const plane& pn, point pt[2]) const");
79 if (d >
rad)
return 0;
81 pt[0] = closest_pt + cat * sl.
Gdir();
82 pt[1] = closest_pt - cat * sl.
Gdir();
87 Ifile <<
"circumf(erence):\n";
DoubleAc sqrt(const DoubleAc &f)
#define check_econd11(a, signb, stream)
int cross(const plane &pn, point pt[2], vfloat prec) const
virtual void get_components(ActivePtr< absref_transmit > &aref_tran)
static absrefabsref::*[2] aref
int check_point_in(const point &fp, vfloat prec) const
friend int apeq(const circumf &f1, const circumf &f2, vfloat prec)
vfloat distance(const point &fpt) const
vfloat distance(const straight &sl, int &type_of_cross, point pt[2]) const
int apeq(const circumf &f1, const circumf &f2, vfloat prec)
std::ostream & operator<<(std::ostream &file, const BGMesh &bgm)
int operator==(const circumf &f1, const circumf &f2)
#define pvecerror(string)