Loading...
Searching...
No Matches
BALL::BoundingBoxProcessor Class Reference
Molecular Modeling » Molecular Structure » Geometric property processors.

`#include <BALL/STRUCTURE/geometricProperties.h>`

Inheritance diagram for BALL::BoundingBoxProcessor:

## Public Member Functions

Processor related methods.
virtual bool | start ()
virtual bool | finish ()
virtual Processor::Result | operator() (const Atom &atom)
virtual Processor::Result | operator() (const Vector3 &v)
Public Member Functions inherited from BALL::ConstUnaryProcessor< Atom >
virtual | ~ConstUnaryProcessor ()

## Accessors

SimpleBox3 | getBox () const
const Vector3 & | getLower () const
const Vector3 & | getUpper () const

## Additional Inherited Members

Public Types inherited from BALL::UnaryFunctor< ArgumentType, ResultType >
typedef ResultType | result_type
typedef ArgumentType | argument_type
typedef ArgumentType & | argument_reference
typedef const ArgumentType & | const_argument_reference
typedef ArgumentType * | argument_pointer
typedef const ArgumentType * | const_argument_pointer

## Detailed Description

Bounding box creating processor. This class iterates over all atoms of a given molecular object and determines the lowest and the highest coordinates occuring. It returns two coordinates ( getLower , getUpper ) describing the smallest cuboid (whose sides are parallel to the planes defined by the corrdinate axes) enclosing all atoms of the molecular object.

  This processor is useful to determine the extent of a molecular object if you want to define a THashGrid or alike objects.

  The coordinates returned by getLower and getUpper are only valid, if the processor has been applied to a molecular object containing atoms.

Definition at line 56 of file geometricProperties.h.

## Member Function Documentation

## finish()

virtual bool BALL::BoundingBoxProcessor::finish | ( |  | ) |

virtual

Checks if bounding box has been calculated.

See also
  UnaryProcessor::finish()

Returns
  true if bounding box has been calculated, otherwise reset lower and upper to (0,0,0) and return false

Reimplemented from BALL::ConstUnaryProcessor< Atom >.

## getBox()

SimpleBox3 BALL::BoundingBoxProcessor::getBox | ( |  | ) | const

Return the bounding box

## getLower()

const Vector3 & BALL::BoundingBoxProcessor::getLower | ( |  | ) | const

Returns the lower corner of the bounding box

## getUpper()

const Vector3 & BALL::BoundingBoxProcessor::getUpper | ( |  | ) | const

Returns the upper corner of the bounding box

## operator()() [1/2]

virtual Processor::Result BALL::BoundingBoxProcessor::operator() | ( | const Atom & | atom | ) |

inline virtual

Contributes the coordinates of provided Atom to the bounding box. The function internally calls the more generic operator() with Three-dimensional vector. argument derived from atom position.

Reimplemented from BALL::ConstUnaryProcessor< Atom >.

Definition at line 89 of file geometricProperties.h.

## operator()() [2/2]

virtual Processor::Result BALL::BoundingBoxProcessor::operator() | ( | const Vector3 & | v | ) |

virtual

Contributes coordinates of Three-dimensional vector. argument to the bounding box.

## start()

virtual bool BALL::BoundingBoxProcessor::start | ( |  | ) |

virtual

Initialize the processor. Resets lower and upper vectors to lower and upper numeric float limits.

See also
  UnaryProcessor::start()

Returns
  true in all cases

Reimplemented from BALL::ConstUnaryProcessor< Atom >.