Changes in src/vector.cpp [fee69b:7b36fe]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/vector.cpp
rfee69b r7b36fe 222 222 * \param *Origin first vector of line 223 223 * \param *LineVector second vector of line 224 * \return true - \a this contains intersection point on return, false - line is parallel to plane 224 * \return true - \a this contains intersection point on return, false - line is parallel to plane (even if in-plane) 225 225 */ 226 226 bool Vector::GetIntersectionWithPlane(const Vector * const PlaneNormal, const Vector * const PlaneOffset, const Vector * const Origin, const Vector * const LineVector) … … 235 235 Direction.Normalize(); 236 236 Log() << Verbose(1) << "INFO: Direction is " << Direction << "." << endl; 237 //Log() << Verbose(1) << "INFO: PlaneNormal is " << *PlaneNormal << " and PlaneOffset is " << *PlaneOffset << "." << endl; 237 238 factor = Direction.ScalarProduct(PlaneNormal); 238 if (fa ctor< MYEPSILON) { // Uniqueness: line parallel to plane?239 eLog() << Verbose(2) << "Line is parallel to plane, no intersection." << endl;239 if (fabs(factor) < MYEPSILON) { // Uniqueness: line parallel to plane? 240 Log() << Verbose(1) << "BAD: Line is parallel to plane, no intersection." << endl; 240 241 return false; 241 242 } … … 243 244 helper.SubtractVector(Origin); 244 245 factor = helper.ScalarProduct(PlaneNormal)/factor; 245 if (fa ctor< MYEPSILON) { // Origin is in-plane246 Log() << Verbose(1) << " Origin of line is in-plane, simple." << endl;246 if (fabs(factor) < MYEPSILON) { // Origin is in-plane 247 Log() << Verbose(1) << "GOOD: Origin of line is in-plane." << endl; 247 248 CopyVector(Origin); 248 249 return true; … … 258 259 helper.SubtractVector(PlaneOffset); 259 260 if (helper.ScalarProduct(PlaneNormal) < MYEPSILON) { 260 Log() << Verbose(1) << " INFO: Intersection at " << *this << " is good." << endl;261 Log() << Verbose(1) << "GOOD: Intersection is " << *this << "." << endl; 261 262 return true; 262 263 } else { … … 353 354 Vector parallel; 354 355 double factor = 0.; 355 double pfactor = 0.;356 356 if (fabs(a.ScalarProduct(&b)*a.ScalarProduct(&b)/a.NormSquared()/b.NormSquared() - 1.) < MYEPSILON) { 357 357 parallel.CopyVector(Line1a);
Note:
See TracChangeset
for help on using the changeset viewer.