Mantid
|
Holds a general quadratic surface. More...
#include <General.h>
Public Member Functions | |
std::unique_ptr< General > | clone () const |
Makes a clone (implicit virtual copy constructor) More... | |
General () | |
Standard Constructor. More... | |
void | getBoundingBox (double &xmax, double &ymax, double &zmax, double &xmin, double &ymin, double &zmin) override |
bounding box for the surface More... | |
void | setBaseEqn () override |
Set baseEqn (nothing to do) as it is already a baseEqn driven system. More... | |
int | setSurface (const std::string &) override |
Processes a standard MCNPX general string (GQ/SQ types) Despite type, moves both to the general equation. More... | |
Public Member Functions inherited from Mantid::Geometry::Quadratic | |
void | acceptVisitor (BaseVisit &A) const override |
Accept visitor for line calculation. More... | |
std::string | className () const override |
Effective typeid. More... | |
std::unique_ptr< Quadratic > | clone () const |
const std::vector< double > & | copyBaseEqn () const |
access BaseEquation vector More... | |
void | displace (const Kernel::V3D &) override |
Apply a general displacement to the surface. More... | |
double | distance (const Kernel::V3D &) const override |
distance between point and surface (approx) More... | |
double | eqnValue (const Kernel::V3D &) const |
Helper function to calcuate the value of the equation at a fixed point. More... | |
bool | onSurface (const Kernel::V3D &) const override |
is point valid on surface More... | |
void | print () const override |
Print out the genreal equation for debugging. More... | |
Quadratic () | |
Constructor. More... | |
void | rotate (const Kernel::Matrix< double > &) override |
Rotate the surface by matrix MX. More... | |
virtual void | setBaseEqn ()=0 |
Abstract set baseEqn. More... | |
int | side (const Kernel::V3D &) const override |
Determine if the the Point is true to the surface or on the other side. More... | |
Kernel::V3D | surfaceNormal (const Kernel::V3D &) const override |
Normal at surface. More... | |
void | write (std::ostream &) const override |
Writes out an MCNPX surface description Note : Swap since base equation is swapped in gq output (mcnp 4c manual pg. More... | |
Public Member Functions inherited from Mantid::Geometry::Surface | |
virtual void | acceptVisitor (BaseVisit &A) const |
Accept visitor for line calculation. More... | |
virtual std::string | className () const |
Effective typeid. More... | |
std::unique_ptr< Surface > | clone () const |
virtual void | displace (const Kernel::V3D &)=0 |
translates the surface More... | |
virtual double | distance (const Kernel::V3D &) const =0 |
returns the minimum distance to the surface More... | |
virtual void | getBoundingBox (double &xmax, double &ymax, double &zmax, double &xmin, double &ymin, double &zmin)=0 |
bounding box for the surface More... | |
int | getName () const |
Get Name. More... | |
virtual bool | onSurface (const Kernel::V3D &R) const =0 |
is point valid on surface More... | |
Surface & | operator= (const Surface &)=delete |
virtual void | print () const |
Simple print out function for surface header. More... | |
virtual void | rotate (const Kernel::Matrix< double > &)=0 |
rotates the surface More... | |
void | setName (int const N) |
Set Name. More... | |
virtual int | setSurface (const std::string &R)=0 |
Sets the surface based on a string input in MCNPX format. More... | |
virtual int | side (const Kernel::V3D &) const |
Surface side : throw AbsObjMethod. More... | |
Surface () | |
Constructor. More... | |
virtual Kernel::V3D | surfaceNormal (const Kernel::V3D &) const =0 |
returns the normal to the closest point on the surface More... | |
virtual void | write (std::ostream &) const |
The writes the data to the output stream. More... | |
void | writeHeader (std::ostream &) const |
Writes out the start of an MCNPX surface description . More... | |
virtual | ~Surface ()=default |
Protected Member Functions | |
General (const General &)=default | |
General & | operator= (const General &)=delete |
Protected Member Functions inherited from Mantid::Geometry::Quadratic | |
Quadratic & | operator= (const Quadratic &)=delete |
Quadratic (const Quadratic &)=default | |
Protected Member Functions inherited from Mantid::Geometry::Surface | |
Surface (const Surface &)=default | |
Private Member Functions | |
General * | doClone () const override |
Makes a clone (implicit virtual copy constructor) More... | |
Additional Inherited Members | |
Static Public Attributes inherited from Mantid::Geometry::Quadratic | |
static const int | Nprecision = 10 |
Precision of the output. More... | |
Static Public Attributes inherited from Mantid::Geometry::Surface | |
static const int | Nprecision = 10 |
Precision of the output. More... | |
Protected Attributes inherited from Mantid::Geometry::Quadratic | |
std::vector< double > | BaseEqn |
Base equation (as a 10 point vector) More... | |
Holds a general quadratic surface.
Holds a general surface with equation form
\[ Ax^2+By^2+Cz^2+Dxy+Exz+Fyz+Gx+Hy+Jz+K=0 \]
which has been defined as a gq surface in MCNPX. It is a realisation of the Surface object.
|
protecteddefault |
Mantid::Geometry::General::General | ( | ) |
std::unique_ptr< General > Mantid::Geometry::General::clone | ( | ) | const |
Makes a clone (implicit virtual copy constructor)
Definition at line 28 of file General.cpp.
References doClone().
|
overrideprivatevirtual |
Makes a clone (implicit virtual copy constructor)
Implements Mantid::Geometry::Quadratic.
Definition at line 19 of file General.cpp.
References General().
Referenced by clone().
|
overridevirtual |
bounding box for the surface
General bounding box Intended to improve bounding box for a general quadratic surface Using the surface calculate improved limits on the bounding box, if possible. @param xmax :: On input, existing Xmax bound, on exit possibly improved Xmax bound @param xmin :: On input, existing Xmin bound, on exit possibly improved Xmin bound @param ymax :: as for xmax @param ymin :: as for xmin @param zmax :: as for xmax @param zmin :: as for xmin
TODO: Implement bounding box for General
Implements Mantid::Geometry::Surface.
Definition at line 92 of file General.cpp.
References UNUSED_ARG.
|
overridevirtual |
Set baseEqn (nothing to do) as it is already a baseEqn driven system.
Implements Mantid::Geometry::Quadratic.
Definition at line 85 of file General.cpp.
|
overridevirtual |
Processes a standard MCNPX general string (GQ/SQ types) Despite type, moves both to the general equation.
NOTE: Check the gq version with the MCNPX source code since there are multiple version of xy xz yz parameter read-in which swap xz and yz. [This code uses the first]
Pstr | :: String to process (with name and transform) |
Implements Mantid::Geometry::Surface.
Definition at line 37 of file General.cpp.
References Mantid::Geometry::Quadratic::BaseEqn, index, and Mantid::Kernel::Strings::section().