Geant4-11
|
#include <Transform3D.h>
Public Member Functions | |
double | dx () const |
double | dy () const |
double | dz () const |
void | getDecomposition (Scale3D &scale, Rotate3D &rotation, Translate3D &translation) const |
CLHEP::HepRotation | getRotation () const |
CLHEP::Hep3Vector | getTranslation () const |
Transform3D | inverse () const |
bool | isNear (const Transform3D &t, double tolerance=2.2E-14) const |
bool | operator!= (const Transform3D &transform) const |
double | operator() (int, int) const |
Transform3D | operator* (const Transform3D &b) const |
bool | operator== (const Transform3D &transform) const |
const Transform3D_row | operator[] (int) const |
Rotate3D () | |
Rotate3D (const CLHEP::HepRotation &mt) | |
Rotate3D (const Point3D< double > &fr1, const Point3D< double > &fr2, const Point3D< double > &to1, const Point3D< double > &to2) | |
Rotate3D (double a, const Point3D< double > &p1, const Point3D< double > &p2) | |
Rotate3D (double a, const Vector3D< double > &v) | |
void | setIdentity () |
double | xx () const |
double | xy () const |
double | xz () const |
double | yx () const |
double | yy () const |
double | yz () const |
double | zx () const |
double | zy () const |
double | zz () const |
Static Public Attributes | |
static DLL_API const Transform3D | Identity = Transform3D () |
Protected Member Functions | |
void | setTransform (double XX, double XY, double XZ, double DX, double YX, double YY, double YZ, double DY, double ZX, double ZY, double ZZ, double DZ) |
Protected Attributes | |
double | dx_ |
double | dy_ |
double | dz_ |
double | xx_ |
double | xy_ |
double | xz_ |
double | yx_ |
double | yy_ |
double | yz_ |
double | zx_ |
double | zy_ |
double | zz_ |
Constructs a rotation transformation. This class provides additional constructors for Transform3D and should not be used as a separate class.
Example of use:
Definition at line 370 of file Transform3D.h.
|
inline |
Default constructor: sets the Identity transformation.
Definition at line 374 of file Transform3D.h.
|
inline |
Constructor from CLHEP::HepRotation.
HepGeom::Rotate3D::Rotate3D | ( | double | a, |
const Point3D< double > & | p1, | ||
const Point3D< double > & | p2 | ||
) |
Constructor from angle and axis given by two points.
a | angle of rotation |
p1 | begin point of the axis |
p2 | end point of the axis |
Definition at line 230 of file Transform3D.cc.
References HepGeom::Transform3D::setTransform(), HepGeom::BasicVector3D< T >::x(), HepGeom::BasicVector3D< T >::y(), and HepGeom::BasicVector3D< T >::z().
|
inline |
Constructor from angle and axis.
a | angle of rotation |
v | axis of rotation |
|
inline |
Constructor for rotation given by original and rotated position of two points. It is assumed that there is no reflection.
fr1 | original position of 1st point |
fr2 | original position of 2nd point |
to1 | rotated position of 1st point |
to2 | rotated position of 2nd point |
|
inlineinherited |
Gets dx-element of the transformation matrix.
Definition at line 284 of file Transform3D.h.
References HepGeom::Transform3D::dx_.
Referenced by G4VtkSceneHandler::AddCompound(), G4VtkSceneHandler::AddPrimitive(), G4VtkSceneHandler::AddPrimitiveTensorGlyph(), G4BoundingEnvelope::BoundingBoxVsVoxelLimits(), G4ReflectedSolid::BoundingLimits(), G4BoundingEnvelope::CalculateExtent(), G4PhysicalVolumeModel::DescribeAndDescend(), and operator<<().
|
inlineinherited |
Gets dy-element of the transformation matrix.
Definition at line 287 of file Transform3D.h.
References HepGeom::Transform3D::dy_.
Referenced by G4VtkSceneHandler::AddCompound(), G4VtkSceneHandler::AddPrimitive(), G4VtkSceneHandler::AddPrimitiveTensorGlyph(), G4BoundingEnvelope::BoundingBoxVsVoxelLimits(), G4ReflectedSolid::BoundingLimits(), G4BoundingEnvelope::CalculateExtent(), G4PhysicalVolumeModel::DescribeAndDescend(), and operator<<().
|
inlineinherited |
Gets dz-element of the transformation matrix.
Definition at line 290 of file Transform3D.h.
References HepGeom::Transform3D::dz_.
Referenced by G4VtkSceneHandler::AddCompound(), G4VtkSceneHandler::AddPrimitive(), G4VtkSceneHandler::AddPrimitiveTensorGlyph(), G4BoundingEnvelope::BoundingBoxVsVoxelLimits(), G4ReflectedSolid::BoundingLimits(), G4BoundingEnvelope::CalculateExtent(), G4PhysicalVolumeModel::DescribeAndDescend(), and operator<<().
|
inherited |
Decomposition of general transformation. This function gets decomposition of the transformation in three consequentive specific transformations: Scale3D, then Rotate3D, then Translate3, i.e.
scale | output: scaling transformation; if there was a reflection, then scale factor for z-component (scale(2,2)) will be negative. |
rotation | output: rotation transformaion. |
translation | output: translation transformaion. |
Definition at line 173 of file Transform3D.cc.
Referenced by G4AssemblyVolume::AddPlacedAssembly(), G4AssemblyVolume::AddPlacedVolume(), G4PhysicalVolumeModel::DescribeAndDescend(), G4MultiUnion::GetGlobalVector(), G4MultiUnion::GetLocalVector(), operator<<(), G4GDMLWriteStructure::PhysvolWrite(), G4ReflectionFactory::Place(), and G4GDMLWriteStructure::TraverseVolumeTree().
|
inlineinherited |
Extracts the rotation matrix. This functions is obsolete - use getDecomposition() instead.
Referenced by G4AssemblyVolume::AddPlacedAssembly(), G4AssemblyVolume::AddPlacedVolume(), G4VtkSceneHandler::AddPrimitive(), G4GMocrenFileSceneHandler::AddPrimitive(), G4GMocrenFileSceneHandler::AddSolid(), G4HepRepFileSceneHandler::AddSolid(), G4ReflectedSolid::BoundingLimits(), G4ReflectedSolid::CalculateExtent(), G4tgbGeometryDumper::DumpMultiUnionVolume(), G4GMocrenFileSceneHandler::EndSavingGdd(), G4PVPlacement::G4PVPlacement(), operator<<(), G4GDMLWriteStructure::PhysvolWrite(), G4ReflectedSolid::StreamInfo(), and G4GDMLWriteStructure::TraverseVolumeTree().
|
inlineinherited |
Extracts the translation vector. This functions is obsolete - use getDecomposition() instead.
Referenced by G4AssemblyVolume::AddPlacedAssembly(), G4AssemblyVolume::AddPlacedVolume(), G4GMocrenFileSceneHandler::AddPrimitive(), G4GMocrenFileSceneHandler::AddSolid(), G4ReflectedSolid::BoundingLimits(), G4ReflectedSolid::CalculateExtent(), G4tgbGeometryDumper::DumpMultiUnionVolume(), G4GMocrenFileSceneHandler::EndSavingGdd(), G4GDMLWriteSolids::MultiUnionWrite(), operator<<(), G4GDMLWriteStructure::PhysvolWrite(), G4ReflectedSolid::StreamInfo(), G4BoundingEnvelope::TransformVertices(), and G4GDMLWriteStructure::TraverseVolumeTree().
|
inherited |
Returns the inverse transformation.
Definition at line 141 of file Transform3D.cc.
References HepGeom::Transform3D::dx_, HepGeom::Transform3D::dy_, HepGeom::Transform3D::dz_, HepGeom::Transform3D::Transform3D(), HepGeom::Transform3D::xx_, HepGeom::Transform3D::xy_, HepGeom::Transform3D::xz_, HepGeom::Transform3D::yx_, HepGeom::Transform3D::yy_, HepGeom::Transform3D::yz_, HepGeom::Transform3D::zx_, HepGeom::Transform3D::zy_, and HepGeom::Transform3D::zz_.
Referenced by G4VtkSceneHandler::AddPrimitiveTensorGlyph(), G4PhysicalVolumeModel::DescribeAndDescend(), G4PhysicalVolumeModel::DescribeSolid(), G4ScoringBox::Draw(), G4ScoringCylinder::Draw(), G4ScoringBox::DrawColumn(), G4ScoringCylinder::DrawColumn(), G4GMocrenFileSceneHandler::ExtractDetector(), G3toG4BuildPVTree(), G4MultiUnion::GetLocalPoint(), G4MultiUnion::GetLocalVector(), G4ReflectedSolid::GetTransform3D(), GetTransform3D(), G4ReflectionFactory::Place(), G4ReflectionFactory::ReflectPVPlacement(), SubstractSolids(), and G4GDMLWriteStructure::TraverseVolumeTree().
|
inherited |
Returns true if the difference between corresponding matrix elements is less than the tolerance.
Definition at line 203 of file Transform3D.cc.
References HepGeom::Transform3D::dx_, HepGeom::Transform3D::dy_, HepGeom::Transform3D::dz_, HepGeom::Transform3D::xx_, HepGeom::Transform3D::xy_, HepGeom::Transform3D::xz_, HepGeom::Transform3D::yx_, HepGeom::Transform3D::yy_, HepGeom::Transform3D::yz_, HepGeom::Transform3D::zx_, HepGeom::Transform3D::zy_, and HepGeom::Transform3D::zz_.
|
inlineinherited |
Test for inequality.
Definition at line 349 of file Transform3D.h.
References HepGeom::Transform3D::operator==(), and G4coutFormatters::anonymous_namespace{G4coutFormatters.cc}::transform().
|
inherited |
Fortran-style subscripting: returns (i,j) element of the matrix.
Definition at line 23 of file Transform3D.cc.
References HepGeom::Transform3D::dx_, HepGeom::Transform3D::dy_, HepGeom::Transform3D::dz_, HepGeom::Transform3D::xx_, HepGeom::Transform3D::xy_, HepGeom::Transform3D::xz_, HepGeom::Transform3D::yx_, HepGeom::Transform3D::yy_, HepGeom::Transform3D::yz_, HepGeom::Transform3D::zx_, HepGeom::Transform3D::zy_, and HepGeom::Transform3D::zz_.
|
inherited |
Transformation by another Transform3D.
Definition at line 51 of file Transform3D.cc.
References HepGeom::Transform3D::dx_, HepGeom::Transform3D::dy_, HepGeom::Transform3D::dz_, HepGeom::Transform3D::Transform3D(), HepGeom::Transform3D::xx_, HepGeom::Transform3D::xy_, HepGeom::Transform3D::xz_, HepGeom::Transform3D::yx_, HepGeom::Transform3D::yy_, HepGeom::Transform3D::yz_, HepGeom::Transform3D::zx_, HepGeom::Transform3D::zy_, and HepGeom::Transform3D::zz_.
|
inherited |
Test for equality.
Definition at line 220 of file Transform3D.cc.
References HepGeom::Transform3D::dx_, HepGeom::Transform3D::dy_, HepGeom::Transform3D::dz_, HepGeom::Transform3D::xx_, HepGeom::Transform3D::xy_, HepGeom::Transform3D::xz_, HepGeom::Transform3D::yx_, HepGeom::Transform3D::yy_, HepGeom::Transform3D::yz_, HepGeom::Transform3D::zx_, HepGeom::Transform3D::zy_, and HepGeom::Transform3D::zz_.
Referenced by HepGeom::Transform3D::operator!=().
|
inlineinherited |
Returns object of the helper class for C-style subscripting r[i][j]
|
inlineinherited |
Sets the Identity transformation.
Definition at line 294 of file Transform3D.h.
References HepGeom::Transform3D::dx_, HepGeom::Transform3D::dy_, HepGeom::Transform3D::dz_, HepGeom::Transform3D::xx_, HepGeom::Transform3D::xy_, HepGeom::Transform3D::xz_, HepGeom::Transform3D::yx_, HepGeom::Transform3D::yy_, HepGeom::Transform3D::yz_, HepGeom::Transform3D::zx_, HepGeom::Transform3D::zy_, and HepGeom::Transform3D::zz_.
Referenced by HepGeom::Reflect3D::Reflect3D(), and HepGeom::Transform3D::Transform3D().
|
inlineprotectedinherited |
Definition at line 185 of file Transform3D.h.
References HepGeom::Transform3D::dx_, HepGeom::Transform3D::dy_, HepGeom::Transform3D::dz_, HepGeom::Transform3D::xx_, HepGeom::Transform3D::xy_, HepGeom::Transform3D::xz_, HepGeom::Transform3D::yx_, HepGeom::Transform3D::yy_, HepGeom::Transform3D::yz_, HepGeom::Transform3D::zx_, HepGeom::Transform3D::zy_, and HepGeom::Transform3D::zz_.
Referenced by HepGeom::Reflect3D::Reflect3D(), Rotate3D(), HepGeom::RotateX3D::RotateX3D(), HepGeom::RotateY3D::RotateY3D(), HepGeom::RotateZ3D::RotateZ3D(), and HepGeom::Transform3D::Transform3D().
|
inlineinherited |
Gets xx-element of the transformation matrix.
Definition at line 257 of file Transform3D.h.
References HepGeom::Transform3D::xx_.
Referenced by G4VtkSceneHandler::AddCompound(), G4VtkSceneHandler::AddPrimitiveTensorGlyph(), G4BoundingEnvelope::BoundingBoxVsVoxelLimits(), G4ReflectedSolid::BoundingLimits(), G4BoundingEnvelope::CalculateExtent(), G4tgbGeometryDumper::DumpScaledVolume(), G4BoundingEnvelope::FindScaleFactor(), G4GDMLWriteSolids::MultiUnionWrite(), operator<<(), G4GDMLWriteSolids::ScaledWrite(), and G4BoundingEnvelope::TransformVertices().
|
inlineinherited |
Gets xy-element of the transformation matrix.
Definition at line 260 of file Transform3D.h.
References HepGeom::Transform3D::xy_.
Referenced by G4VtkSceneHandler::AddCompound(), G4VtkSceneHandler::AddPrimitiveTensorGlyph(), G4BoundingEnvelope::CalculateExtent(), G4BoundingEnvelope::FindScaleFactor(), G4GDMLWriteSolids::MultiUnionWrite(), and operator<<().
|
inlineinherited |
Gets xz-element of the transformation matrix.
Definition at line 263 of file Transform3D.h.
References HepGeom::Transform3D::xz_.
Referenced by G4VtkSceneHandler::AddCompound(), G4VtkSceneHandler::AddPrimitiveTensorGlyph(), G4BoundingEnvelope::CalculateExtent(), G4BoundingEnvelope::FindScaleFactor(), G4GDMLWriteSolids::MultiUnionWrite(), and operator<<().
|
inlineinherited |
Gets yx-element of the transformation matrix.
Definition at line 266 of file Transform3D.h.
References HepGeom::Transform3D::yx_.
Referenced by G4VtkSceneHandler::AddCompound(), G4VtkSceneHandler::AddPrimitiveTensorGlyph(), G4BoundingEnvelope::CalculateExtent(), G4BoundingEnvelope::FindScaleFactor(), G4GDMLWriteSolids::MultiUnionWrite(), and operator<<().
|
inlineinherited |
Gets yy-element of the transformation matrix.
Definition at line 269 of file Transform3D.h.
References HepGeom::Transform3D::yy_.
Referenced by G4VtkSceneHandler::AddCompound(), G4VtkSceneHandler::AddPrimitiveTensorGlyph(), G4BoundingEnvelope::BoundingBoxVsVoxelLimits(), G4ReflectedSolid::BoundingLimits(), G4BoundingEnvelope::CalculateExtent(), G4tgbGeometryDumper::DumpScaledVolume(), G4BoundingEnvelope::FindScaleFactor(), G4GDMLWriteSolids::MultiUnionWrite(), operator<<(), G4GDMLWriteSolids::ScaledWrite(), and G4BoundingEnvelope::TransformVertices().
|
inlineinherited |
Gets yz-element of the transformation matrix.
Definition at line 272 of file Transform3D.h.
References HepGeom::Transform3D::yz_.
Referenced by G4VtkSceneHandler::AddCompound(), G4VtkSceneHandler::AddPrimitiveTensorGlyph(), G4BoundingEnvelope::CalculateExtent(), G4BoundingEnvelope::FindScaleFactor(), G4GDMLWriteSolids::MultiUnionWrite(), and operator<<().
|
inlineinherited |
Gets zx-element of the transformation matrix.
Definition at line 275 of file Transform3D.h.
References HepGeom::Transform3D::zx_.
Referenced by G4VtkSceneHandler::AddCompound(), G4VtkSceneHandler::AddPrimitiveTensorGlyph(), G4BoundingEnvelope::CalculateExtent(), G4BoundingEnvelope::FindScaleFactor(), G4GDMLWriteSolids::MultiUnionWrite(), and operator<<().
|
inlineinherited |
Gets zy-element of the transformation matrix.
Definition at line 278 of file Transform3D.h.
References HepGeom::Transform3D::zy_.
Referenced by G4VtkSceneHandler::AddCompound(), G4VtkSceneHandler::AddPrimitiveTensorGlyph(), G4BoundingEnvelope::CalculateExtent(), G4BoundingEnvelope::FindScaleFactor(), G4GDMLWriteSolids::MultiUnionWrite(), and operator<<().
|
inlineinherited |
Gets zz-element of the transformation matrix.
Definition at line 281 of file Transform3D.h.
References HepGeom::Transform3D::zz_.
Referenced by G4VtkSceneHandler::AddCompound(), G4VtkSceneHandler::AddPrimitiveTensorGlyph(), G4BoundingEnvelope::BoundingBoxVsVoxelLimits(), G4ReflectedSolid::BoundingLimits(), G4BoundingEnvelope::CalculateExtent(), G4tgbGeometryDumper::DumpScaledVolume(), G4BoundingEnvelope::FindScaleFactor(), G4GDMLWriteSolids::MultiUnionWrite(), operator<<(), G4GDMLWriteSolids::ScaledWrite(), and G4BoundingEnvelope::TransformVertices().
|
protectedinherited |
Definition at line 172 of file Transform3D.h.
Referenced by HepGeom::Transform3D::dx(), HepGeom::Transform3D::inverse(), HepGeom::Transform3D::isNear(), HepGeom::Transform3D::operator()(), HepGeom::Transform3D::operator*(), HepGeom::Transform3D::operator==(), HepGeom::Transform3D::setIdentity(), and HepGeom::Transform3D::setTransform().
|
protectedinherited |
Definition at line 173 of file Transform3D.h.
Referenced by HepGeom::Transform3D::dy(), HepGeom::Transform3D::inverse(), HepGeom::Transform3D::isNear(), HepGeom::Transform3D::operator()(), HepGeom::Transform3D::operator*(), HepGeom::Transform3D::operator==(), HepGeom::Transform3D::setIdentity(), and HepGeom::Transform3D::setTransform().
|
protectedinherited |
Definition at line 174 of file Transform3D.h.
Referenced by HepGeom::Transform3D::dz(), HepGeom::Transform3D::inverse(), HepGeom::Transform3D::isNear(), HepGeom::Transform3D::operator()(), HepGeom::Transform3D::operator*(), HepGeom::Transform3D::operator==(), HepGeom::Transform3D::setIdentity(), and HepGeom::Transform3D::setTransform().
|
staticinherited |
Global identity transformation.
Definition at line 196 of file Transform3D.h.
Referenced by G4GMocrenFileSceneHandler::Detector::clear(), G4GDMLWriteStructure::TraverseVolumeTree(), and G4GDMLWrite::Write().
|
protectedinherited |
Definition at line 172 of file Transform3D.h.
Referenced by HepGeom::Transform3D::inverse(), HepGeom::Transform3D::isNear(), HepGeom::Transform3D::operator()(), HepGeom::Transform3D::operator*(), HepGeom::Transform3D::operator==(), HepGeom::Transform3D::setIdentity(), HepGeom::Transform3D::setTransform(), and HepGeom::Transform3D::xx().
|
protectedinherited |
Definition at line 172 of file Transform3D.h.
Referenced by HepGeom::Transform3D::inverse(), HepGeom::Transform3D::isNear(), HepGeom::Transform3D::operator()(), HepGeom::Transform3D::operator*(), HepGeom::Transform3D::operator==(), HepGeom::Transform3D::setIdentity(), HepGeom::Transform3D::setTransform(), and HepGeom::Transform3D::xy().
|
protectedinherited |
Definition at line 172 of file Transform3D.h.
Referenced by HepGeom::Transform3D::inverse(), HepGeom::Transform3D::isNear(), HepGeom::Transform3D::operator()(), HepGeom::Transform3D::operator*(), HepGeom::Transform3D::operator==(), HepGeom::Transform3D::setIdentity(), HepGeom::Transform3D::setTransform(), and HepGeom::Transform3D::xz().
|
protectedinherited |
Definition at line 173 of file Transform3D.h.
Referenced by HepGeom::Transform3D::inverse(), HepGeom::Transform3D::isNear(), HepGeom::Transform3D::operator()(), HepGeom::Transform3D::operator*(), HepGeom::Transform3D::operator==(), HepGeom::Transform3D::setIdentity(), HepGeom::Transform3D::setTransform(), and HepGeom::Transform3D::yx().
|
protectedinherited |
Definition at line 173 of file Transform3D.h.
Referenced by HepGeom::Transform3D::inverse(), HepGeom::Transform3D::isNear(), HepGeom::Transform3D::operator()(), HepGeom::Transform3D::operator*(), HepGeom::Transform3D::operator==(), HepGeom::Transform3D::setIdentity(), HepGeom::Transform3D::setTransform(), and HepGeom::Transform3D::yy().
|
protectedinherited |
Definition at line 173 of file Transform3D.h.
Referenced by HepGeom::Transform3D::inverse(), HepGeom::Transform3D::isNear(), HepGeom::Transform3D::operator()(), HepGeom::Transform3D::operator*(), HepGeom::Transform3D::operator==(), HepGeom::Transform3D::setIdentity(), HepGeom::Transform3D::setTransform(), and HepGeom::Transform3D::yz().
|
protectedinherited |
Definition at line 174 of file Transform3D.h.
Referenced by HepGeom::Transform3D::inverse(), HepGeom::Transform3D::isNear(), HepGeom::Transform3D::operator()(), HepGeom::Transform3D::operator*(), HepGeom::Transform3D::operator==(), HepGeom::Transform3D::setIdentity(), HepGeom::Transform3D::setTransform(), and HepGeom::Transform3D::zx().
|
protectedinherited |
Definition at line 174 of file Transform3D.h.
Referenced by HepGeom::Transform3D::inverse(), HepGeom::Transform3D::isNear(), HepGeom::Transform3D::operator()(), HepGeom::Transform3D::operator*(), HepGeom::Transform3D::operator==(), HepGeom::Transform3D::setIdentity(), HepGeom::Transform3D::setTransform(), and HepGeom::Transform3D::zy().
|
protectedinherited |
Definition at line 174 of file Transform3D.h.
Referenced by HepGeom::Transform3D::inverse(), HepGeom::Transform3D::isNear(), HepGeom::Transform3D::operator()(), HepGeom::Transform3D::operator*(), HepGeom::Transform3D::operator==(), HepGeom::Transform3D::setIdentity(), HepGeom::Transform3D::setTransform(), and HepGeom::Transform3D::zz().