Open CASCADE Technology  7.2.0
Public Member Functions | Protected Member Functions

math_TrigonometricFunctionRoots Class Reference

This class implements the solutions of the equation a*Cos(x)*Cos(x) + 2*b*Cos(x)*Sin(x) + c*Cos(x) + d*Sin(x) + e The degree of this equation can be 4, 3 or 2. More...

#include <math_TrigonometricFunctionRoots.hxx>

Public Member Functions

 math_TrigonometricFunctionRoots (const Standard_Real A, const Standard_Real B, const Standard_Real C, const Standard_Real D, const Standard_Real E, const Standard_Real InfBound, const Standard_Real SupBound)
 Given coefficients a, b, c, d , e, this constructor performs the resolution of the equation above. The solutions must be contained in [InfBound, SupBound]. InfBound and SupBound can be set by default to 0 and 2*PI. More...
 
 math_TrigonometricFunctionRoots (const Standard_Real D, const Standard_Real E, const Standard_Real InfBound, const Standard_Real SupBound)
 Given the two coefficients d and e, it performs the resolution of d*sin(x) + e = 0. The solutions must be contained in [InfBound, SupBound]. InfBound and SupBound can be set by default to 0 and 2*PI. More...
 
 math_TrigonometricFunctionRoots (const Standard_Real C, const Standard_Real D, const Standard_Real E, const Standard_Real InfBound, const Standard_Real SupBound)
 Given the three coefficients c, d and e, it performs the resolution of 2*b*cos(x)*sin(x) + d*sin(x) + e = 0. The solutions must be contained in [InfBound, SupBound]. InfBound and SupBound can be set by default to 0 and 2*PI. More...
 
Standard_Boolean IsDone () const
 Returns true if the computations are successful, otherwise returns false. More...
 
Standard_Boolean InfiniteRoots () const
 Returns true if there is an infinity of roots, otherwise returns false. More...
 
Standard_Real Value (const Standard_Integer Index) const
 Returns the solution of range Index. An exception is raised if NotDone. An exception is raised if Index>NbSolutions. An exception is raised if there is an infinity of solutions. More...
 
Standard_Integer NbSolutions () const
 Returns the number of solutions found. An exception is raised if NotDone. An exception is raised if there is an infinity of solutions. More...
 
void Dump (Standard_OStream &o) const
 Prints information on the current state of the object. More...
 

Protected Member Functions

void Perform (const Standard_Real A, const Standard_Real B, const Standard_Real C, const Standard_Real D, const Standard_Real E, const Standard_Real InfBound, const Standard_Real SupBound)
 is used by the constructors above. More...
 

Detailed Description

This class implements the solutions of the equation a*Cos(x)*Cos(x) + 2*b*Cos(x)*Sin(x) + c*Cos(x) + d*Sin(x) + e The degree of this equation can be 4, 3 or 2.

Constructor & Destructor Documentation

◆ math_TrigonometricFunctionRoots() [1/3]

math_TrigonometricFunctionRoots::math_TrigonometricFunctionRoots ( const Standard_Real  A,
const Standard_Real  B,
const Standard_Real  C,
const Standard_Real  D,
const Standard_Real  E,
const Standard_Real  InfBound,
const Standard_Real  SupBound 
)

Given coefficients a, b, c, d , e, this constructor performs the resolution of the equation above. The solutions must be contained in [InfBound, SupBound]. InfBound and SupBound can be set by default to 0 and 2*PI.

◆ math_TrigonometricFunctionRoots() [2/3]

math_TrigonometricFunctionRoots::math_TrigonometricFunctionRoots ( const Standard_Real  D,
const Standard_Real  E,
const Standard_Real  InfBound,
const Standard_Real  SupBound 
)

Given the two coefficients d and e, it performs the resolution of d*sin(x) + e = 0. The solutions must be contained in [InfBound, SupBound]. InfBound and SupBound can be set by default to 0 and 2*PI.

◆ math_TrigonometricFunctionRoots() [3/3]

math_TrigonometricFunctionRoots::math_TrigonometricFunctionRoots ( const Standard_Real  C,
const Standard_Real  D,
const Standard_Real  E,
const Standard_Real  InfBound,
const Standard_Real  SupBound 
)

Given the three coefficients c, d and e, it performs the resolution of 2*b*cos(x)*sin(x) + d*sin(x) + e = 0. The solutions must be contained in [InfBound, SupBound]. InfBound and SupBound can be set by default to 0 and 2*PI.

Member Function Documentation

◆ Dump()

void math_TrigonometricFunctionRoots::Dump ( Standard_OStream o) const

Prints information on the current state of the object.

◆ InfiniteRoots()

Standard_Boolean math_TrigonometricFunctionRoots::InfiniteRoots ( ) const

Returns true if there is an infinity of roots, otherwise returns false.

◆ IsDone()

Standard_Boolean math_TrigonometricFunctionRoots::IsDone ( ) const

Returns true if the computations are successful, otherwise returns false.

◆ NbSolutions()

Standard_Integer math_TrigonometricFunctionRoots::NbSolutions ( ) const

Returns the number of solutions found. An exception is raised if NotDone. An exception is raised if there is an infinity of solutions.

◆ Perform()

void math_TrigonometricFunctionRoots::Perform ( const Standard_Real  A,
const Standard_Real  B,
const Standard_Real  C,
const Standard_Real  D,
const Standard_Real  E,
const Standard_Real  InfBound,
const Standard_Real  SupBound 
)
protected

is used by the constructors above.

◆ Value()

Standard_Real math_TrigonometricFunctionRoots::Value ( const Standard_Integer  Index) const

Returns the solution of range Index. An exception is raised if NotDone. An exception is raised if Index>NbSolutions. An exception is raised if there is an infinity of solutions.


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