IMP  2.0.1
The Integrative Modeling Platform
GeometricPrimitiveD.h
Go to the documentation of this file.
1 /**
2  * \file IMP/algebra/GeometricPrimitiveD.h \brief Basic types used by IMP.
3  *
4  * Copyright 2007-2013 IMP Inventors. All rights reserved.
5  *
6  */
7 
8 #ifndef IMPALGEBRA_GEOMETRIC_PRIMITIVE_D_H
9 #define IMPALGEBRA_GEOMETRIC_PRIMITIVE_D_H
10 
11 #include <IMP/algebra/algebra_config.h>
12 #include <IMP/base/Vector.h>
14 
15 IMPALGEBRA_BEGIN_NAMESPACE
16 /** Geometric primitives in \imp behave a bit differently than most values.
17 
18  Most classes in \imp are initialized to a defined state (sometimes a null
19  state) by their default constructor. For efficiency reasons, certain ones,
20  mostly low-level geometric types, are not. They act like built in types
21  in C++ in that they only have a defined state if set (or initialized).
22 
23  In addition, they are not comparable, or hashable.
24 
25  See the \ref geometricprimitives :Geometric Primitives" entry for more
26  information.
27 */
28 template <int D>
30 protected:
32 };
33 
34 #ifndef IMP_DOXYGEN
35  typedef GeometricPrimitiveD<1> GeometricPrimitive1D;
36  typedef GeometricPrimitiveD<2> GeometricPrimitive2D;
37  typedef GeometricPrimitiveD<3> GeometricPrimitive3D;
38  typedef GeometricPrimitiveD<4> GeometricPrimitive4D;
39  typedef GeometricPrimitiveD<5> GeometricPrimitive5D;
40  typedef GeometricPrimitiveD<6> GeometricPrimitive6D;
41  typedef GeometricPrimitiveD<-1> GeometricPrimitiveKD;
42 #endif
43 
44 IMPALGEBRA_END_NAMESPACE
45 
46 #endif /* IMPALGEBRA_GEOMETRIC_PRIMITIVE_D_H */