IMP logo
IMP Reference Guide  develop.eb1b99edaa,2026/06/25
The Integrative Modeling Platform
GeometricPrimitiveD.h
Go to the documentation of this file.
1 /**
2  * \file IMP/GeometricPrimitiveD.h
3  * \brief Base class for geometric types.
4  *
5  * Copyright 2007-2026 IMP Inventors. All rights reserved.
6  *
7  */
8 
9 #ifndef IMPKERNEL_GEOMETRIC_PRIMITIVE_D_H
10 #define IMPKERNEL_GEOMETRIC_PRIMITIVE_D_H
11 
12 #include <IMP/kernel_config.h>
13 #include <IMP/Vector.h>
14 #include <IMP/utility_macros.h>
15 
16 IMPKERNEL_BEGIN_NAMESPACE
17 
18 //! Base class for geometric types.
19 /** Geometric primitives in \imp behave a bit differently than most values.
20 
21  Most classes in \imp are initialized to a defined state (sometimes a null
22  state) by their default constructor. For efficiency reasons, certain ones,
23  mostly low-level geometric types, are not. They act like built in types
24  in C++ in that they only have a defined state if set (or initialized).
25 
26  In addition, they are not comparable, or hashable.
27 
28  See the \ref geometricprimitives entry for more information.
29 */
30 template <int D>
32  protected:
34 };
35 
36 #ifndef IMP_DOXYGEN
37 typedef GeometricPrimitiveD<1> GeometricPrimitive1D;
38 typedef GeometricPrimitiveD<2> GeometricPrimitive2D;
39 typedef GeometricPrimitiveD<3> GeometricPrimitive3D;
40 typedef GeometricPrimitiveD<4> GeometricPrimitive4D;
41 typedef GeometricPrimitiveD<5> GeometricPrimitive5D;
42 typedef GeometricPrimitiveD<6> GeometricPrimitive6D;
43 typedef GeometricPrimitiveD<-1> GeometricPrimitiveKD;
44 #endif
45 
46 IMPKERNEL_END_NAMESPACE
47 
48 #endif /* IMPKERNEL_GEOMETRIC_PRIMITIVE_D_H */
Various general useful macros for IMP.
Base class for geometric types.
A class for storing lists of IMP items.