26#  error DIM must be defined as 2 or 3 to compile this module. 
   70using I64Vect     = I64Vect2;
 
   72using U64Vect     = U64Vect2;
 
   81using VAccum      = itasca::Accumulator2; 
 
   82using AVAccum     = itasca::Accumulator; 
 
   90static constexpr const char *dimstr = 
"2d";
 
   91static constexpr const char *cdimstr = 
"2D";
 
   93#  define itascaxd itasca2d   
   96#  define CONSTEXPR2D static constexpr 
  110template <
class T,
unsigned SX>
 
  114template <
class T,
class U> 
inline constexpr const T &
dimval(
const T &val2,
const U &) { 
return val2; }  
 
  115static const unsigned int totdof = 3;
 
  159using I64Vect     = I64Vect3;
 
  161using U64Vect     = U64Vect3;
 
  178static constexpr const char *dimstr = 
"3d";
 
  179static constexpr const char *cdimstr = 
"3D";
 
  181#  define itascaxd itasca3d  
  182#  define DIMRET(x,y) y      
  183#  define CONSTEXPR3D static constexpr 
  198template <
class T,
unsigned SX>
 
  202template <
class T,
class U>
 
  203inline constexpr const U &
dimval(
const T &,
const U &val3) { 
return val3; } 
 
  204static const unsigned int totdof = 6;
 
  207static constexpr uint32 dim = DIM;              
 
  208static constexpr bool   is2D = 
dimval(
true,
false);  
 
  209static constexpr bool   is3D = 
dimval(
false,
true);  
 
  210static constexpr uint32 adof = 
dimval(1,3); 
 
  211static constexpr uint32 tdof = 
dimval(2,3); 
 
 
 
 
 
 
 
 
 
 
 
 
One stop include for all objects defined as part of base interface.
2D Angular vector class.
Definition avect.h:43
const T & z() const
Member access - returns the z component of the 2D angular vector.
Definition avect.h:63
3D Angular vector class.
Definition avect.h:169
An AVector2 in 2D, an AVector3 in 3D.
Definition dim.h:134
AVector()
Default constructor, no data initialization.
Definition dim.h:137
AVector(const AVector3< T > &av)
Copy constructor.
Definition dim.h:141
AVector(const AVector &av)
Copy constructor.
Definition dim.h:139
Class for specifying a particular 2D cartesian axes system, and converting to and from it.
Definition axes.h:21
Class for specifying a particular 3D cartesian axes system, and converting to and from it.
Definition axes.h:121
Class for specifying a particular 2D cartesian axes system, and converting to and from it.
Definition caxes.h:25
Class for specifying a particular 3D cartesian axes system, and converting to and from it.
Definition caxes.h:102
2D cartesian region in space.
Definition extent2.h:12
const T & y1() const
Returns the lower y-bound.
Definition extent2.h:34
const T & y2() const
Returns the upper y-bound.
Definition extent2.h:36
const T & x2() const
Returns the upper x-bound.
Definition extent2.h:32
const T & x1() const
Returns the lower x-bound.
Definition extent2.h:30
A Class representing a cartesian extent in 3D.
Definition extent3.h:16
const T & x1() const
Returns the lower bound of the extent in the x-direction.
Definition extent3.h:39
const T & y2() const
Returns the upper bound of the extent in the y-direction.
Definition extent3.h:45
const T & y1() const
Returns the lower bound of the extent in the y-direction.
Definition extent3.h:43
const T & x2() const
Returns the upper bound of the extent in the x-direction.
Definition extent3.h:41
A Extent2<T> in 2D, and a Extent3<T> in 2D.
Definition dim.h:145
Extent(const Vector< T > &v11, const Vector< T > &v22)
Explicit constructor, given the lower and upper bound as two Vector.
Definition dim.h:150
Extent(const Extent3< T > &r)
Copy constructor.
Definition dim.h:154
Extent(const Extent &r)
Copy constructor.
Definition dim.h:152
Extent()
Default constructor, not data initialization.
Definition dim.h:148
A template-based matrix class, size fixed at compile time. Defaults to symmetric sized matrix.
Definition matrix.h:22
Class for storing an "orientation", or a direction in 2D or 3D space.
Definition orientation.h:50
Class for storing an "orientation", or a direction in 2D or 3D space.
Definition orientation.h:99
2D quaternion-like utility class. In this case only the angle (in radians) is stored as opposed to th...
Definition quat.h:20
3D quaternion utility class.
Definition quat.h:111
A template-based symmetric matrix class, size fixed at compile time. This primitive template-based ma...
Definition matrix.h:305
A symmetric 2nd order tensor.
Definition symtensor.h:22
A 1-Dimensional version of Matrix, to represent a vector.
Definition matrix.h:643
2D vector utility class.
Definition vect.h:32
constexpr const T & x() const
X component access.
Definition vect.h:53
constexpr const T & y() const
Y component access.
Definition vect.h:55
3D vector utility class.
Definition vect.h:150
constexpr const T & y() const
The y-component of the vector.
Definition vect.h:169
constexpr const T & x() const
The x-component of the vector.
Definition vect.h:167
constexpr const T & z() const
The z-component of the vector.
Definition vect.h:171
A Vector2 in 2D, a Vector3 in 3D.
Definition dim.h:119
Vector()
Default constructor, no data initialization.
Definition dim.h:122
Vector(const Vector3< T > &v)
Copy constructor.
Definition dim.h:126
Vector(const T &t)
Single component constructor.
Definition dim.h:130
Vector(const T &x, const T &y, const T &z)
From three.
Definition dim.h:128
Vector(const Vector< T > &v)
Copy constructor.
Definition dim.h:124
constexpr Vector3< T > toVect3(const Vector2< T > &v, const T &t=0)
Conversion between vectors of different dimension.
Definition vect.h:312
constexpr const Vector2< T > & toVect2(const Vector2< T > &v)
Conversion between vectors of different dimension.
Definition vect.h:310
Vector3< T > toVect(const Vector2< T > &in)
Converts a Vector2 to a Vector.
Definition dim.h:185
DVect toDVect(const Vector3< T > &in)
Definition dim.h:196
Extent< T > toExtent(const Extent2< T > &t)
Converts Extent2 to an Extent.
Definition dim.h:192
AVector3< T > toAVect(const AVector2< T > &in)
Converts an AVector2 to an AVector.
Definition dim.h:188
IVect toIVect(const Vector3< T > &in)
Converts a Vector3<T> to an IVect.
Definition dim.h:194
FAVect3 FAVect
Angular vector of floats, either 2D or 3D.
Definition dim.h:165
DExtent3 DExtent
A DExtent2 in 2D, a DExtent3 in 3D.
Definition dim.h:162
FVect toFVect(const Vector3< T > &in)
Converts a Vector3<T> to a FVect.
Definition dim.h:195
FVect3 FVect
Vector of floats, either 2D or 3D.
Definition dim.h:157
Vector3< T > toVector(const VMatrix< T, SX > &m, unsigned start)
Converts a VMatrix to a Vector3, using three elements starting at index start.
Definition dim.h:199
IExtent3 IExtent
An IExtent2 in 2D, an IExtent3 in 3D.
Definition dim.h:163
DVect3 DVect
Vector of doubles, either 2D or 3D.
Definition dim.h:156
constexpr const U & dimval(const T &, const U &val3)
Returns the first argument in a 2D compile, and the second in a 3D compile.
Definition dim.h:203
UVect3 UVect
Vector of uints, either 2D or 3D.
Definition dim.h:160
itasca::Accumulator3 AVAccum
3D angular accumulator
Definition dim.h:171
DAVect3 DAVect
Angular vector of doubles, either 2D or 3D.
Definition dim.h:164
itasca::Accumulator3 VAccum
3D vector accumulator
Definition dim.h:170
IVect3 IVect
Vector of ints, either 2D or 3D.
Definition dim.h:158
namespace Itasca
Definition basememory.cpp:14