proj_pt.h revision cd8e8082c747cc529d5bf595b4102e88224a1811
#ifndef __PROJ_PT_H__
#define __PROJ_PT_H__
/*
* 3x4 transformation matrix to map points from projective 3-space into the projective plane
*
* Authors:
* Maximilian Albert <Anhalter42@gmx.de>
*
* Copyright (C) 2007 Authors
*
* Released under GNU GPL, read the file 'COPYING' for more information
*/
const double epsilon = 1E-6;
// TODO: Catch the case when the constructors are called with only zeros
}
// FIXME: How should we handle wrong indices?
//if (index > 2) { return Geom::infinity(); }
}
normalize();
}
}
/*** For convenience, we define addition/subtraction etc. as "affine" operators (i.e.,
the result for finite points is the same as if the affine points were addes ***/
for ( unsigned i = 0 ; i < 2 ; ++i ) {
}
return *result;
}
for ( unsigned i = 0 ; i < 2 ; ++i ) {
}
return *result;
}
for ( unsigned i = 0 ; i < 2 ; ++i ) {
}
return *result;
}
void normalize();
gchar *coord_string();
inline void print(gchar const *s) const { g_print ("%s(%8.2f : %8.2f : %8.2f)\n", s, pt[0], pt[1], pt[2]); }
double pt[3];
};
normalize();
}
/*** For convenience, we define addition/subtraction etc. as "affine" operators (i.e.,
the result for finite points is the same as if the affine points were addes ***/
for ( unsigned i = 0 ; i < 3 ; ++i ) {
}
return *result;
}
for ( unsigned i = 0 ; i < 3 ; ++i ) {
}
return *result;
}
for ( unsigned i = 0 ; i < 3 ; ++i ) {
}
return *result;
}
}
// FIXME: How should we handle wrong indices?
//if (index > 3) { return Geom::infinity(); }
}
void normalize();
gchar *coord_string();
}
double pt[4];
};
} // namespace Proj
#endif /* __PROJ_PT_H__ */
/*
Local Variables:
mode:c++
c-file-style:"stroustrup"
c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
indent-tabs-mode:nil
fill-column:99
End:
*/
// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :