AXOM
Axom provides a robust, flexible software infrastructure for the development of multi-physics applications and computational tools.
axom::klee::Scale Class Reference

A GeometryOperator for scaling shapes. More...

#include </home/docs/checkouts/readthedocs.org/user_builds/axom/checkouts/develop/src/axom/klee/GeometryOperators.hpp>

Inheritance diagram for axom::klee::Scale:

Public Member Functions

 Scale (double xFactor, double yFactor, const TransformableGeometryProperties &startProperties)
 
 Scale (double xFactor, double yFactor, double zFactor, const TransformableGeometryProperties &startProperties)
 
 Scale (double xFactor, double yFactor, const primal::Point2D &center, const TransformableGeometryProperties &startProperties)
 
 Scale (double xFactor, double yFactor, double zFactor, const primal::Point3D &center, const TransformableGeometryProperties &startProperties)
 
double getXFactor () const
 
double getYFactor () const
 
double getZFactor () const
 
primal::Point3DgetCenter ()
 
const primal::Point3DgetCenter () const
 
numerics::Matrix< double > toMatrix () const override
 
void accept (GeometryOperatorVisitor &visitor) const override
 
 GeometryOperator (const TransformableGeometryProperties &startProperties)
 
const TransformableGeometryPropertiesgetStartProperties () const
 
virtual TransformableGeometryProperties getEndProperties () const
 

Detailed Description

A GeometryOperator for scaling shapes.

Constructor & Destructor Documentation

◆ Scale() [1/4]

axom::klee::Scale::Scale ( double  xFactor,
double  yFactor,
const TransformableGeometryProperties startProperties 
)

Create a new Scale operator.

Parameters
xFactorthe amount by which to scale in the x direction
yFactorthe amount by which to scale in the y direction
startPropertiesthe initial properties, as in the parent class.
Note
The scaling factor used for the 3rd dimension is 1.

◆ Scale() [2/4]

axom::klee::Scale::Scale ( double  xFactor,
double  yFactor,
double  zFactor,
const TransformableGeometryProperties startProperties 
)

Create a new Scale operator.

Parameters
xFactorthe amount by which to scale in the x direction
yFactorthe amount by which to scale in the y direction
zFactorthe amount by which to scale in the z direction
startPropertiesthe initial properties, as in the parent class.
Note
If the number of dimensions is 2, zFactor should be 1.0, but this is not enforced.

◆ Scale() [3/4]

axom::klee::Scale::Scale ( double  xFactor,
double  yFactor,
const primal::Point2D center,
const TransformableGeometryProperties startProperties 
)

Create a new Scale operator.

Parameters
xFactorthe amount by which to scale in the x direction
yFactorthe amount by which to scale in the y direction
centerThe center relative to which the scaling is performed.
startPropertiesthe initial properties, as in the parent class.
Note
The scaling factor used for the 3rd dimension is 1.

◆ Scale() [4/4]

axom::klee::Scale::Scale ( double  xFactor,
double  yFactor,
double  zFactor,
const primal::Point3D center,
const TransformableGeometryProperties startProperties 
)

Create a new Scale operator.

Parameters
xFactorthe amount by which to scale in the x direction
yFactorthe amount by which to scale in the y direction
zFactorthe amount by which to scale in the z direction
centerThe center relative to which the scaling is performed.
startPropertiesthe initial properties, as in the parent class.
Note
If the number of dimensions is 2, zFactor should be 1.0, but this is not enforced.

Member Function Documentation

◆ getXFactor()

double axom::klee::Scale::getXFactor ( ) const
inline

Get the scale factor in the x direction.

Returns
the x scale factor

◆ getYFactor()

double axom::klee::Scale::getYFactor ( ) const
inline

Get the scale factor in the y direction.

Returns
the y scale factor

◆ getZFactor()

double axom::klee::Scale::getZFactor ( ) const
inline

Get the scale factor in the z direction.

Returns
the z scale factor

◆ getCenter() [1/2]

primal::Point3D& axom::klee::Scale::getCenter ( )
inline

Get the scale factor in the z direction.

Returns
the z scale factor

◆ getCenter() [2/2]

const primal::Point3D& axom::klee::Scale::getCenter ( ) const
inline

◆ toMatrix()

numerics::Matrix<double> axom::klee::Scale::toMatrix ( ) const
overridevirtual

Convert this operator to its matrix representation.

Returns
a 4x4 affine transformation matrix

Implements axom::klee::MatrixOperator.

◆ accept()

void axom::klee::Scale::accept ( GeometryOperatorVisitor visitor) const
overridevirtual

Accept the given visitor. The appropriate visit() method will be called on the visitor based on the run-time type of this operator.

Parameters
visitorthe visitor to accept.

Implements axom::klee::GeometryOperator.

◆ GeometryOperator()

axom::klee::GeometryOperator::GeometryOperator
explicitinherited

Create an operator with the given start properties

Parameters
startPropertiesthe properties before the operator is applied

◆ getStartProperties()

const TransformableGeometryProperties& axom::klee::GeometryOperator::getStartProperties ( ) const
inlineinherited

Get the properties that the operator expects to start in

Returns
the properties which must be true before this operator is applied

◆ getEndProperties()

virtual TransformableGeometryProperties axom::klee::GeometryOperator::getEndProperties ( ) const
inlinevirtualinherited

Get the properties after this operator is applied

Returns
the properties which are true after this operator is applied

Reimplemented in axom::klee::SliceOperator, axom::klee::UnitConverter, and axom::klee::CompositeOperator.


The documentation for this class was generated from the following file: