BornAgain
1.19.79
Open-source research software to simulate and fit neutron and x-ray reflectometry and grazing-incidence small-angle scattering
|
A rotation about the y axis.
Definition at line 98 of file Rotations.h.
Public Member Functions | |
RotationY (double angle) | |
RotationY (std::vector< double > P) | |
Constructor of rotation around y-axis. More... | |
double | angle () const |
void | checkNodeArgs () const |
Raises exception if a parameter value is invalid. More... | |
std::string | className () const final |
Returns the class name, to be hard-coded in each leaf class that inherits from INode. More... | |
RotationY * | clone () const override |
RotationY * | createInverse () const override |
Returns a new IRotation object that is the current object's inverse. More... | |
virtual bool | isIdentity () const |
Returns true if rotation matrix is identity matrix (no rotations) More... | |
virtual std::vector< const INode * > | nodeChildren () const |
Returns all children. More... | |
std::vector< const INode * > | nodeOffspring () const |
Returns all descendants. More... | |
std::vector< ParaMeta > | parDefs () const final |
Returns the parameter definitions, to be hard-coded in each leaf class. More... | |
RotMatrix | rotMatrix () const override |
Returns transformation. More... | |
virtual void | transferToCPP () |
Used for Python overriding of clone (see swig/tweaks.py) More... | |
R3 | transformed (const R3 &v) const |
bool | zInvariant () const |
Static Public Member Functions | |
static IRotation * | createRotation (const RotMatrix &transform) |
Protected Attributes | |
const double & | m_angle |
std::vector< double > | m_P |
RotationY::RotationY | ( | std::vector< double > | P | ) |
Constructor of rotation around y-axis.
Definition at line 108 of file Rotations.cpp.
References INode::checkNodeArgs().
Referenced by clone(), and createInverse().
RotationY::RotationY | ( | double | angle | ) |
Definition at line 115 of file Rotations.cpp.
References angle().
|
inline |
|
inherited |
Raises exception if a parameter value is invalid.
Definition at line 27 of file INode.cpp.
References ASSERT, RealLimits::check(), INode::className(), INF, RealLimits::limited(), RealLimits::limitless(), INode::m_P, ParaMeta::name, RealLimits::nonnegative(), INode::parDefs(), ParaMeta::vMax, and ParaMeta::vMin.
Referenced by BarGauss::BarGauss(), BarLorentz::BarLorentz(), Bipyramid4::Bipyramid4(), Box::Box(), CantellatedCube::CantellatedCube(), Cone::Cone(), ConstantBackground::ConstantBackground(), CosineRippleBox::CosineRippleBox(), CosineRippleGauss::CosineRippleGauss(), CosineRippleLorentz::CosineRippleLorentz(), Cylinder::Cylinder(), DistributionCosine::DistributionCosine(), DistributionGate::DistributionGate(), DistributionGaussian::DistributionGaussian(), DistributionLogNormal::DistributionLogNormal(), DistributionLorentz::DistributionLorentz(), DistributionTrapezoid::DistributionTrapezoid(), Dodecahedron::Dodecahedron(), EllipsoidalCylinder::EllipsoidalCylinder(), FootprintGauss::FootprintGauss(), FootprintSquare::FootprintSquare(), FuzzySphere::FuzzySphere(), GaussSphere::GaussSphere(), HemiEllipsoid::HemiEllipsoid(), HollowSphere::HollowSphere(), HorizontalCylinder::HorizontalCylinder(), Icosahedron::Icosahedron(), LongBoxGauss::LongBoxGauss(), LongBoxLorentz::LongBoxLorentz(), PlatonicOctahedron::PlatonicOctahedron(), PlatonicTetrahedron::PlatonicTetrahedron(), Prism3::Prism3(), Prism6::Prism6(), Profile1DCauchy::Profile1DCauchy(), Profile1DCosine::Profile1DCosine(), Profile1DGate::Profile1DGate(), Profile1DGauss::Profile1DGauss(), Profile1DTriangle::Profile1DTriangle(), Profile1DVoigt::Profile1DVoigt(), Profile2DCauchy::Profile2DCauchy(), Profile2DCone::Profile2DCone(), Profile2DGate::Profile2DGate(), Profile2DGauss::Profile2DGauss(), Profile2DVoigt::Profile2DVoigt(), Pyramid2::Pyramid2(), Pyramid3::Pyramid3(), Pyramid4::Pyramid4(), Pyramid6::Pyramid6(), RotationEuler::RotationEuler(), RotationX::RotationX(), RotationY(), RotationZ::RotationZ(), SawtoothRippleBox::SawtoothRippleBox(), SawtoothRippleGauss::SawtoothRippleGauss(), SawtoothRippleLorentz::SawtoothRippleLorentz(), Sphere::Sphere(), Spheroid::Spheroid(), TruncatedCube::TruncatedCube(), TruncatedSphere::TruncatedSphere(), and TruncatedSpheroid::TruncatedSpheroid().
|
inlinefinalvirtual |
Returns the class name, to be hard-coded in each leaf class that inherits from INode.
Implements INode.
Definition at line 104 of file Rotations.h.
|
inlineoverridevirtual |
Implements IRotation.
Definition at line 103 of file Rotations.h.
References RotationY(), and m_angle.
|
inlineoverridevirtual |
Returns a new IRotation object that is the current object's inverse.
Implements IRotation.
Definition at line 110 of file Rotations.h.
References RotationY(), and m_angle.
Definition at line 28 of file Rotations.cpp.
References RotMatrix::angleAroundCoordAxis(), RotMatrix::isIdentity(), and RotMatrix::zxzEulerAngles().
Referenced by ReParticle::bottomZ(), RotationEuler::createInverse(), createProduct(), and ReParticle::topZ().
|
virtualinherited |
Returns true if rotation matrix is identity matrix (no rotations)
Reimplemented in IdentityRotation.
Definition at line 47 of file Rotations.cpp.
References RotMatrix::isIdentity(), and IRotation::rotMatrix().
Referenced by ReParticle::createTransformedFormFactor().
|
virtualinherited |
Returns all children.
Reimplemented in ISimulation2D, ISimulation, ParticleCoreShell, ParticleComposition, Particle, MesoCrystal, IParticle, Crystal, MultiLayer, Layer, LayerInterface, ParticleLayout, InterferenceRadialParaCrystal, InterferenceFinite3DLattice, InterferenceFinite2DLattice, Interference3DLattice, Interference2DSuperLattice, Interference2DParaCrystal, Interference2DLattice, Interference1DLattice, ConvolutionDetectorResolution, IDetector, and Beam.
Definition at line 56 of file INode.cpp.
Referenced by NodeUtils::AllDescendantsOfType(), NodeUtils::ChildNodesOfType(), ISampleNode::containedMaterials(), and INode::nodeOffspring().
|
inherited |
Returns all descendants.
Definition at line 61 of file INode.cpp.
References INode::nodeChildren().
|
inlinefinalvirtual |
|
overridevirtual |
Returns transformation.
Implements IRotation.
Definition at line 120 of file Rotations.cpp.
References RotMatrix::AroundY(), and m_angle.
|
inlinevirtualinherited |
Used for Python overriding of clone (see swig/tweaks.py)
Definition at line 32 of file ICloneable.h.
|
inherited |
Definition at line 42 of file Rotations.cpp.
References IRotation::rotMatrix(), and RotMatrix::transformed().
Referenced by ReParticle::bottomZ(), Sphere::bottomZ(), IParticle::rotate(), ReParticle::topZ(), and Sphere::topZ().
|
inherited |
Definition at line 52 of file Rotations.cpp.
References RotMatrix::isZRotation(), and IRotation::rotMatrix().
Referenced by IFormFactor::canSliceAnalytically().
|
protected |
Definition at line 117 of file Rotations.h.
Referenced by angle(), clone(), createInverse(), and rotMatrix().
|
protectedinherited |
Definition at line 63 of file INode.h.
Referenced by IFootprintFactor::IFootprintFactor(), INode::checkNodeArgs(), IProfile1D::pythonConstructor(), IProfile2D::pythonConstructor(), IFormFactor::pythonConstructor(), Profile1DVoigt::pythonConstructor(), and Profile2DVoigt::pythonConstructor().