30 int TBisector::numberInstance = 0;
32 int TBisector::generateId() {
33 return TBisector::numberInstance++;
36 TBisector::TBisector() {
57 TBisector::TBisector(
const Element & ele) {
73 TBisector::~TBisector() {
86 stream <<
"U = (" << b.
U->
X1() <<
", " << b.
U->
X2() <<
", " << b.
U->
X3() <<
")\n";
87 stream <<
"X0 = [" << b.
X0->
X() <<
", " << b.
X0->
Y() <<
", " << b.
X0->
Z() <<
"]\n";
92 void TBisector::SetPoint(
const TPoint &P) {
96 void TBisector::SetVector(
const TVector &UU) {
110 const TPoint &TBisector::GetPoint()
const 115 TPoint TBisector::GetPoint(
double t)
const {
124 void TBisector::GetParameter(
const TPoint &P,
double &t,
bool &onBisector)
const {
125 t = (P.
X() - X0->X()) / U->X1();
126 onBisector = (fabs( (P.
Y() - X0->Y()) / U->X2() - t ) <
epsilon) & (fabs( (P.
Z() - X0->Z()) / U->X3() - t ) <
epsilon);
129 bool TBisector::Belong(
const TPoint &P)
const {
Global macros to enhance readability and debugging, general constants.
double Distance(const TBisector &, const TPoint &)
std::ostream & operator<<(std::ostream &stream, const TBisector &b)
void SetCoord(double, double, double)
#define OLD_ASSERT_EQUAL(a, b)