18#ifndef VP1LINALGUTILS_H
19#define VP1LINALGUTILS_H
24#include "CLHEP/Geometry/Transform3D.h"
43 static SoTransform *
toSoTransform(
const HepGeom::Transform3D &, SoTransform * t = 0);
45 static SoTransform *
toSoTransform(
const SbMatrix&, SoTransform * t = 0);
48 float& translation_x,
float& translation_y,
float& translation_z,
49 float& rotaxis_x,
float& rotaxis_y,
float& rotaxis_z,
float& rotangle_radians );
58 static bool isSane(
const HepGeom::Transform3D &,
const QString& contextStr =
"" );
60 static bool isSane(
const SoTransform *,
const QString& contextStr =
"" );
61 static bool isSane(
const SbMatrix&,
const QString& contextStr =
"" );
64 static double phiFromXY(
const double&
x,
const double&
y );
80 double& s,
double& t);
static bool isSane(const HepGeom::Transform3D &, const QString &contextStr="")
static SoTransform * toSoTransform(const HepGeom::Transform3D &, SoTransform *t=0)
static void distPointLineParam(const Amg::Vector3D &point, const Amg::Vector3D &point0, const Amg::Vector3D &point1, double &s)
static void distLineLineParam(const Amg::Vector3D &point0, const Amg::Vector3D &point1, const Amg::Vector3D &point2, const Amg::Vector3D &point3, double &s, double &t)
static void decodeTransformation(const SbMatrix &, float &translation_x, float &translation_y, float &translation_z, float &rotaxis_x, float &rotaxis_y, float &rotaxis_z, float &rotangle_radians)
static double phiFromXY(const double &x, const double &y)
static double distPointLine2(const Amg::Vector3D &point, const Amg::Vector3D &point0, const Amg::Vector3D &point1, double &s)
static void transformToMatrix(SoTransform *xf, SbMatrix &result)
Eigen::Affine3d Transform3D
Eigen::Matrix< double, 3, 1 > Vector3D