8 #ifndef META_OCEAN_TEST_TESTGEOMETRY_UTILITIES_H
9 #define META_OCEAN_TEST_TESTGEOMETRY_UTILITIES_H
31 namespace TestGeometry
103 template <
typename T>
127 template <
typename T>
150 template <
typename T = Scalar>
159 template <
typename T = Scalar>
169 template <
typename T = Scalar>
This class implements the abstract base class for all AnyCamera objects.
Definition: AnyCamera.h:130
Class representing a fisheye camera.
Definition: FisheyeCamera.h:106
This class implements a generator for random numbers.
Definition: RandomGenerator.h:42
This class implements utility functions for the geometry test library.
Definition: test/testgeometry/Utilities.h:39
static PinholeCameraT< T > realisticPinholeCamera(const unsigned int index=0u)
Returns one of two realistic pinhole camera profiles.
static HomogenousMatrix4 viewPosition(const PinholeCamera &pinholeCamera, const Vectors3 &objectPoints, const Vector3 &viewingDirection, const bool circumcircle=true)
Deprecated.
static std::vector< AnyCameraType > realisticCameraTypes()
Returns all camera types for which a realistic camera object can be accessed.
static HomogenousMatrixT4< T > viewPosition(const AnyCameraT< T > &anyCamera, const VectorsT3< T > &objectPoints, const bool circumcircle=true, RandomGenerator *randomGenerator=nullptr)
Determines a viewing position for a given camera for a set of 3D object points so that all point proj...
static IndexSet32 randomIndices(const size_t size, const size_t randomIndices, RandomGenerator *randomGenerator=nullptr)
Creates a set of random indices.
static SharedAnyCameraT< T > realisticAnyCamera(const AnyCameraType anyCameraType, const unsigned int index=0u)
Returns one of two realistic camera profiles provided as an AnyCamera object.
static PinholeCamera distortedCamera(const PinholeCamera &pinholeCamera, const bool principalPointDistortion=true, const bool radialDistortion=true, const bool tangentialDistortion=true, RandomGenerator *randomGenerator=nullptr, const Scalar maximalPrincipalPointOffset=Scalar(20), const Scalar maximalRadialDistortion=Scalar(0.1), const Scalar maximalTangentialDistortion=Scalar(0.01))
Modifies a provided camera and adds random radial and tangential distortion.
static HomogenousMatrixT4< T > viewPosition(const AnyCameraT< T > &anyCamera, const SphereT3< T > &boundingSphere, const VectorT3< T > &viewingDirection)
Determines a viewing position for a given camera for a set of 3D object points so that all point proj...
static HomogenousMatrix4 viewPosition(const PinholeCamera &pinholeCamera, const Sphere3 &boundingSphere, const Vector3 &viewingDirection)
Deprecated.
static Vectors3 objectPoints(const Box3 &boundingBox, const size_t number, RandomGenerator *randomGenerator=nullptr)
Creates a set of object points that are located inside a specified bounding box.
static Vectors2 imagePoints(const PinholeCamera &pinholeCamera, const size_t number, RandomGenerator *randomGenerator=nullptr)
Creates a set of image points that are located inside a camera frame.
static HomogenousMatrixT4< T > viewPosition(const AnyCameraT< T > &anyCamera, const VectorsT3< T > &objectPoints, const VectorT3< T > &viewingDirection, const bool circumcircle=true)
Determines a viewing position for a given camera for a set of 3D object points so that all point proj...
static FisheyeCameraT< T > realisticFisheyeCamera(const unsigned int index=0u)
Returns one of two realistic fisheye camera profiles.
static HomogenousMatrix4 viewPosition(const PinholeCamera &pinholeCamera, const Vectors3 &objectPoints, const bool circumcircle=true, RandomGenerator *randomGenerator=nullptr)
Deprecated.
std::set< Index32 > IndexSet32
Definition of a set holding 32 bit indices.
Definition: Base.h:114
float Scalar
Definition of a scalar type.
Definition: Math.h:128
std::vector< Vector2 > Vectors2
Definition of a vector holding Vector2 objects.
Definition: Vector2.h:64
AnyCameraType
Definition of individual camera types.
Definition: AnyCamera.h:111
std::vector< VectorT3< T > > VectorsT3
Definition of a typename alias for vectors with VectorT3 objects.
Definition: Vector3.h:58
std::vector< Vector3 > Vectors3
Definition of a vector holding Vector3 objects.
Definition: Vector3.h:65
std::shared_ptr< AnyCameraT< T > > SharedAnyCameraT
Definition of a shared pointer holding an AnyCamera object with Scalar precision.
Definition: AnyCamera.h:53
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15