#include "assert.hpp"
#include <iostream>
#include <valarray>
#include <stdio.h>
#include <limits>
Go to the source code of this file.
Namespaces | |
| namespace | reviver |
Classes | |
| class | reviver::InternalNumberType< float > |
| class | reviver::InternalNumberType< int > |
| class | reviver::InternalNumberType< double > |
| class | reviver::InternalNumberType< long > |
| struct | reviver::origin< NumType, D, I > |
| struct | reviver::origin< NumType, D, 0 > |
| struct | reviver::Distance< NumType, D, I > |
| A structure to compute squared distances between points. More... | |
| struct | reviver::Distance< NumType, D, 0 > |
| Partial Template Specialization for distance calculations. More... | |
| struct | reviver::DotProd< __INT, NumType, D, I > |
| A structure to compute dot product between two points or associated vectors. More... | |
| struct | reviver::DotProd< __INT, NumType, D, 0 > |
| Partial Template Specialization for dot product calculations. More... | |
| struct | reviver::IsEqual< NumType, D, I > |
| struct | reviver::IsEqual< NumType, D, 0 > |
| struct | reviver::Equate< NumType1, NumType2, D, I > |
| Equate two d-dimensional points. More... | |
| struct | reviver::Equate< NumType1, NumType2, D, 0 > |
| Partial Template Specialization for Equate. More... | |
| struct | reviver::Add< NumType, D, I > |
| A structure to add two points. More... | |
| struct | reviver::Add< NumType, D, 0 > |
| Partial Template Specialization for Add structure. More... | |
| struct | reviver::Subtract< NumType, D, I > |
| Subtract two d-dimensional vectors. More... | |
| struct | reviver::Subtract< NumType, D, 0 > |
| Partial Template Specialization for subtraction of points (associated vectors). More... | |
| struct | reviver::Multiply< NumType, D, I > |
| Mutiply scalar with d-dimensional point. More... | |
| struct | reviver::Multiply< NumType, D, 0 > |
| Partial Template Specialization for scalar multiplication. More... | |
| class | reviver::dpoint< NumType, D > |
| Main d dimensional Point Class. More... | |
Functions | |
| template<typename NumType> | |
| NumType | reviver::Subtract_nums (const NumType &x, const NumType &y) |
| template<typename NT, unsigned __DIM> | |
| dpoint< NT, __DIM > | reviver::operator+ (const dpoint< NT, __DIM > &p, const dpoint< NT, __DIM > &q) |
| template<typename NT, unsigned __DIM> | |
| dpoint< NT, __DIM > | reviver::operator- (const dpoint< NT, __DIM > &p, const dpoint< NT, __DIM > &q) |
| template<typename NT, unsigned __DIM> | |
| bool | reviver::operator== (const dpoint< NT, __DIM > &p, const dpoint< NT, __DIM > &q) |
| template<typename NT, unsigned __DIM> | |
| bool | reviver::operator!= (const dpoint< NT, __DIM > &p, const dpoint< NT, __DIM > &q) |
| template<typename NT, unsigned __DIM> | |
| dpoint< NT, __DIM > | reviver::operator * (const dpoint< NT, __DIM > &p, const NT k) |
| template<typename NT, unsigned __DIM> | |
| dpoint< NT, __DIM > | reviver::operator/ (const dpoint< NT, __DIM > &p, const NT k) |
| template<class NumType, unsigned D> | |
| std::ostream & | reviver::operator<< (std::ostream &os, const dpoint< NumType, D > &p) |
| template<class NumType, unsigned D> | |
| std::istream & | reviver::operator>> (std::istream &is, dpoint< NumType, D > &p) |
| template<typename NumType, unsigned D> | |
| dpoint< NumType, D > | reviver::CrossProd (const dpoint< NumType, D > &vector1, const dpoint< NumType, D > &vector2) |
| template<typename __NT, unsigned __DIM> | |
| int | reviver::orientation (const dpoint< __NT, __DIM > p[__DIM+1]) |
| template<typename __NT> | |
| __NT | reviver::orientation (const dpoint< __NT, 2 > &p, const dpoint< __NT, 2 > &q, const dpoint< __NT, 2 > &r) |
| double | reviver::orient2d (double *p, double *q, double *r) |
| template<> | |
| double | reviver::orientation< double > (const dpoint< double, 2 > &p, const dpoint< double, 2 > &q, const dpoint< double, 2 > &r) |
| template<> | |
| float | reviver::orientation< float > (const dpoint< float, 2 > &p, const dpoint< float, 2 > &q, const dpoint< float, 2 > &r) |
A d-dimensional point class which is written carefully using templates. It allows for basic operations on points in any dimension. Orientation tests for 2 and 3 dimensional points are supported using Jonathan's code. This class forms the building block of other classes like dplane, dsphere etc.
Definition in file dpoint.hpp.
1.4.6