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

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

Inheritance diagram for axom::klee::SliceOperator:

Public Member Functions

 SliceOperator (const primal::Point3D &origin, const primal::Vector3D &normal, const primal::Vector3D &up, const TransformableGeometryProperties &startProperties)
 
const primal::Point3DgetOrigin () const
 
const primal::Vector3DgetNormal () const
 
const primal::Vector3DgetUp () const
 
numerics::Matrix< double > toMatrix () const override
 
void accept (GeometryOperatorVisitor &visitor) const override
 
TransformableGeometryProperties getEndProperties () const override
 
 GeometryOperator (const TransformableGeometryProperties &startProperties)
 
const TransformableGeometryPropertiesgetStartProperties () const
 

Detailed Description

A SliceOperator takes a 3D shape and makes it 2D by defining a cut plane. This plane is augmented with an origin and an "up" direction to orient the slice to the x-y plane.

Constructor & Destructor Documentation

◆ SliceOperator()

axom::klee::SliceOperator::SliceOperator ( const primal::Point3D origin,
const primal::Vector3D normal,
const primal::Vector3D up,
const TransformableGeometryProperties startProperties 
)

Create a new Slice.

Parameters
originthe origin of the coordinate system
normala vector normal to the slice plane. Cannot be a zero vector.
upthe direction of the positive Y axis. Must be normal to the "normal" vector.
startPropertiesthe initial properties, as in the parent class. The number of dimensions should be 3, though this is not checked.

Member Function Documentation

◆ getOrigin()

const primal::Point3D& axom::klee::SliceOperator::getOrigin ( ) const
inline

Get the origin of the coordinate system.

Returns
the system's origin

◆ getNormal()

const primal::Vector3D& axom::klee::SliceOperator::getNormal ( ) const
inline

Get a vector normal to the slice plane.

Returns
a vector normal to the slice plane

◆ getUp()

const primal::Vector3D& axom::klee::SliceOperator::getUp ( ) const
inline

Get a vector in the direction of the positive Y axis.

Returns
the direction of the positive Y axis

◆ toMatrix()

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

Convert this operator to its matrix representation.

Returns
a 4x4 affine transformation matrix

Implements axom::klee::MatrixOperator.

◆ accept()

void axom::klee::SliceOperator::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.

◆ getEndProperties()

TransformableGeometryProperties axom::klee::SliceOperator::getEndProperties ( ) const
overridevirtual

Get the properties after this operator is applied

Returns
the properties which are true after this operator is applied

Reimplemented from 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

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