OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
Public Member Functions | Private Attributes | List of all members
ossimPolynomial Class Reference

A polynomial class to hold a polynomial as a term. More...

#include <ossimTerm.h>

Inheritance diagram for ossimPolynomial:
ossimTerm

Public Member Functions

 ossimPolynomial (ossimTerm *leftTerm, ossimTerm *rightTerm)
 Public Constructor. More...
 
 ossimPolynomial (const ossimPolynomial &src)
 Public Copy Constructor. More...
 
 ~ossimPolynomial ()
 Destroys the polynomial. More...
 
ossim_float64 evaluate (std::vector< ossim_float64 > point) const
 Evaluates a polynomial for a point. More...
 
ossimTermderivative (const ossim_uint32 &variable) const
 Calculates the derivative for a polynomial. More...
 
ossim_uint32 getType () const
 Gets the type of a polynomial. More...
 
ossimTermcopy () const
 Creates a copy of the polynomial. More...
 
- Public Member Functions inherited from ossimTerm
virtual ~ossimTerm ()
 Virtual destructor for destroying tree from the top node. More...
 
ossim_float64 operator() (std::vector< ossim_float64 > point) const
 Evaluates the function for a point. More...
 
ossimTermoperator+ (ossimTerm *rhs) const
 Returns a copy of the two terms in a polynomial. More...
 
ossimTermoperator* (ossimTerm *rhs) const
 Returns a copy of the two terms in a product. More...
 

Private Attributes

ossimTermlTerm
 
ossimTermrTerm
 

Detailed Description

A polynomial class to hold a polynomial as a term.

Definition at line 179 of file ossimTerm.h.

Constructor & Destructor Documentation

◆ ossimPolynomial() [1/2]

ossimPolynomial::ossimPolynomial ( ossimTerm leftTerm,
ossimTerm rightTerm 
)
inline

Public Constructor.

Parameters
leftTermThe left term
rightTermThe right term

Definition at line 189 of file ossimTerm.h.

Referenced by copy(), and derivative().

189 : lTerm(leftTerm), rTerm(rightTerm) {}
ossimTerm * lTerm
Definition: ossimTerm.h:234
ossimTerm * rTerm
Definition: ossimTerm.h:235

◆ ossimPolynomial() [2/2]

ossimPolynomial::ossimPolynomial ( const ossimPolynomial src)
inline

Public Copy Constructor.

Parameters
[in]srcThe source to be copied

Definition at line 195 of file ossimTerm.h.

195 : lTerm(src.lTerm->copy()), rTerm(src.rTerm->copy()) {}
ossimTerm * lTerm
Definition: ossimTerm.h:234
virtual ossimTerm * copy() const =0
Returns a pointer to a copy of the term.
ossimTerm * rTerm
Definition: ossimTerm.h:235

◆ ~ossimPolynomial()

ossimPolynomial::~ossimPolynomial ( )
inline

Destroys the polynomial.

Definition at line 199 of file ossimTerm.h.

199 { delete lTerm; delete rTerm; }
ossimTerm * lTerm
Definition: ossimTerm.h:234
ossimTerm * rTerm
Definition: ossimTerm.h:235

Member Function Documentation

◆ copy()

ossimTerm * ossimPolynomial::copy ( ) const
virtual

Creates a copy of the polynomial.

Returns
A pointer to a copy of the polynomial

Implements ossimTerm.

Definition at line 93 of file ossimTerm.cpp.

References ossimTerm::copy(), lTerm, ossimPolynomial(), and rTerm.

93  {
94  return new ossimPolynomial(lTerm->copy(), rTerm->copy());
95 }
ossimTerm * lTerm
Definition: ossimTerm.h:234
ossimPolynomial(ossimTerm *leftTerm, ossimTerm *rightTerm)
Public Constructor.
Definition: ossimTerm.h:189
virtual ossimTerm * copy() const =0
Returns a pointer to a copy of the term.
ossimTerm * rTerm
Definition: ossimTerm.h:235

◆ derivative()

ossimTerm * ossimPolynomial::derivative ( const ossim_uint32 variable) const
virtual

Calculates the derivative for a polynomial.

OSSIM POLYNOMIAL AS A TERM.

Parameters
[in]variableThe variable in which the derivative is with respect too.
Returns
A pointer to that contains the derivative of the term.

Calculates the derivative for a polynomial

Parameters
[in]variableThe variable in which the derivative is with respect too.
Returns
A pointer to that contains the derivative of the term.

Implements ossimTerm.

Definition at line 83 of file ossimTerm.cpp.

References ossimTerm::derivative(), lTerm, ossimPolynomial(), rTerm, and variable.

83  {
85 }
virtual ossimTerm * derivative(const ossim_uint32 &variable) const =0
Calculates the derivative of the term.
ossimTerm * lTerm
Definition: ossimTerm.h:234
ossimPolynomial(ossimTerm *leftTerm, ossimTerm *rightTerm)
Public Constructor.
Definition: ossimTerm.h:189
ossimTerm * rTerm
Definition: ossimTerm.h:235

◆ evaluate()

ossim_float64 ossimPolynomial::evaluate ( std::vector< ossim_float64 point) const
inlinevirtual

Evaluates a polynomial for a point.

Parameters
[in]pointThe point to be evaluated
Returns
The value at a point.

Implements ossimTerm.

Definition at line 209 of file ossimTerm.h.

209 { return lTerm->evaluate(point) + rTerm->evaluate(point); }
virtual ossim_float64 evaluate(std::vector< ossim_float64 >) const =0
Evaluates a term at a given point PURE VIRTUAL.
ossimTerm * lTerm
Definition: ossimTerm.h:234
ossimTerm * rTerm
Definition: ossimTerm.h:235

◆ getType()

ossim_uint32 ossimPolynomial::getType ( ) const
inlinevirtual

Gets the type of a polynomial.

Returns
The type of a polynomial

Implements ossimTerm.

Definition at line 225 of file ossimTerm.h.

References polynomial.

225 { return termType::polynomial; }

Member Data Documentation

◆ lTerm

ossimTerm* ossimPolynomial::lTerm
private

Definition at line 234 of file ossimTerm.h.

Referenced by copy(), and derivative().

◆ rTerm

ossimTerm* ossimPolynomial::rTerm
private

Definition at line 235 of file ossimTerm.h.

Referenced by copy(), and derivative().


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