Removed unnecessary parts.
This commit is contained in:
parent
e76a151ee7
commit
6d0a35323b
|
@ -138,177 +138,6 @@ namespace ttl_util {
|
|||
return acx * bcy - acy * bcx;
|
||||
}
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------------------------
|
||||
/* Scalar product between 2D vectors represented as darts.
|
||||
*
|
||||
* \par Requires:
|
||||
* - real_type DartType::x()
|
||||
* - real_type DartType::y()
|
||||
*/
|
||||
/*
|
||||
template <class TTLtraits, class DartType>
|
||||
typename TTLtraits::real_type scalarProduct2d(const DartType& d1, const DartType& d2) {
|
||||
|
||||
DartType d10 = d1;
|
||||
d10.alpha0();
|
||||
|
||||
DartType d20 = d2;
|
||||
d20.alpha0();
|
||||
|
||||
return scalarProduct2d(d10.x() - d1.x(), d10.y() - d1.y(), d20.x() - d2.x(), d20.y() - d2.y());
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------------------------
|
||||
/* Scalar product between 2D vectors.
|
||||
* The first vector is represented by the given dart, and the second vector has
|
||||
* direction from the node of the given dart - and to the given point.
|
||||
*
|
||||
* \par Requires:
|
||||
* - real_type DartType::x(), real_type DartType::y()
|
||||
* - real_type PointType2d::x(), real_type PointType2d::y()
|
||||
*/
|
||||
/*
|
||||
template <class TTLtraits>
|
||||
typename TTLtraits::real_type scalarProduct2d(const typename TTLtraits::DartType& d,
|
||||
const typename TTLtraits::PointType2d& p) {
|
||||
typename TTLtraits::DartType d0 = d;
|
||||
d0.alpha0();
|
||||
|
||||
return scalarProduct2d(d0.x() - d.x(), d0.y() - d.y(), p.x() - d.x(), p.y() - d.y());
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------------------------
|
||||
/* Cross product between 2D vectors represented as darts.
|
||||
*
|
||||
* \par Requires:
|
||||
* - real_type DartType::x(), real_type DartType::y()
|
||||
*/
|
||||
/*
|
||||
template <class TTLtraits>
|
||||
typename TTLtraits::real_type crossProduct2d(const typename TTLtraits::DartType& d1,
|
||||
const typename TTLtraits::DartType& d2) {
|
||||
|
||||
TTLtraits::DartType d10 = d1;
|
||||
d10.alpha0();
|
||||
|
||||
TTLtraits::DartType d20 = d2;
|
||||
d20.alpha0();
|
||||
|
||||
return crossProduct2d(d10.x() - d1.x(), d10.y() - d1.y(), d20.x() - d2.x(), d20.y() - d2.y());
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------------------------
|
||||
/* Cross product between 2D vectors.
|
||||
* The first vector is represented by the given dart, and the second vector has
|
||||
* direction from the node associated with given dart - and to the given point.
|
||||
*
|
||||
* \par Requires:
|
||||
* - real_type DartType::x()
|
||||
* - real_type DartType::y()
|
||||
*/
|
||||
/*
|
||||
template <class TTLtraits>
|
||||
typename TTLtraits::real_type crossProduct2d(const typename TTLtraits::DartType& d,
|
||||
const typename TTLtraits::PointType2d& p) {
|
||||
|
||||
TTLtraits::DartType d0 = d;
|
||||
d0.alpha0();
|
||||
|
||||
return crossProduct2d(d0.x() - d.x(), d0.y() - d.y(), p.x() - d.x(), p.y() - d.y());
|
||||
}
|
||||
*/
|
||||
// Geometric predicates; see more robust schemes by Jonathan Richard Shewchuk at
|
||||
// http://www.cs.cmu.edu/~quake/robust.html
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------------------------
|
||||
/* Return a positive value if the 2d nodes/points \e d, \e d.alpha0(), and
|
||||
* \e p occur in counterclockwise order; a negative value if they occur
|
||||
* in clockwise order; and zero if they are collinear. The
|
||||
* result is also a rough approximation of twice the signed
|
||||
* area of the triangle defined by the three points.
|
||||
*
|
||||
* \par Requires:
|
||||
* - DartType::x(), DartType::y(),
|
||||
* - PointType2d::x(), PointType2d::y()
|
||||
*/
|
||||
/*
|
||||
template <class TTLtraits, class DartType, class PointType2d>
|
||||
typename TTLtraits::real_type orient2dfast(const DartType& n1, const DartType& n2,
|
||||
const PointType2d& p) {
|
||||
return ((n2.x()-n1.x())*(p.y()-n1.y()) - (p.x()-n1.x())*(n2.y()-n1.y()));
|
||||
}
|
||||
*/
|
||||
|
||||
//@} // End of Computational geometry
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------------------------
|
||||
// ---------------------------- Utilities Involving Points Group --------------------------------
|
||||
//------------------------------------------------------------------------------------------------
|
||||
|
||||
/** @name Utilities involving points */
|
||||
//@{
|
||||
|
||||
//------------------------------------------------------------------------------------------------
|
||||
/** Creates random data on the unit square.
|
||||
*
|
||||
* \param noPoints
|
||||
* Number of random points to be generated
|
||||
*
|
||||
* \param seed
|
||||
* Initial value for pseudorandom number generator
|
||||
*
|
||||
* \require
|
||||
* - Constructor \c PointType::PointType(double x, double y).\n
|
||||
* For example, one can use \c pair<double, double>.
|
||||
*
|
||||
* \note
|
||||
* - To deduce template argument for PointType the function must be
|
||||
* called with the syntax: \c createRandomData<MyPoint>(...) where \c MyPoint
|
||||
* is the actual point type.
|
||||
*/
|
||||
template <class PointType>
|
||||
std::vector<PointType*>* createRandomData(int noPoints, int seed=1) {
|
||||
|
||||
#ifdef _MSC_VER
|
||||
srand(seed);
|
||||
#else
|
||||
srand48((long int)seed);
|
||||
#endif
|
||||
|
||||
double x, y;
|
||||
std::vector<PointType*>* points = new std::vector<PointType*>(noPoints);
|
||||
typename std::vector<PointType*>::iterator it;
|
||||
for (it = points->begin(); it != points->end(); ++it) {
|
||||
|
||||
#ifdef _MSC_VER
|
||||
int random = rand();
|
||||
x = ((double)random/(double)RAND_MAX);
|
||||
random = rand();
|
||||
y = ((double)random/(double)RAND_MAX);
|
||||
*it = new PointType(x,y);
|
||||
#else
|
||||
double random = drand48();
|
||||
x = random;
|
||||
random = drand48();
|
||||
y = random;
|
||||
*it = new PointType(x,y);
|
||||
#endif
|
||||
|
||||
}
|
||||
return points;
|
||||
}
|
||||
|
||||
//@} // End of Utilities involving points
|
||||
|
||||
}; // End of ttl_util namespace scope
|
||||
|
||||
#endif // _TTL_UTIL_H_
|
||||
|
|
Loading…
Reference in New Issue