/usr/include/oce/Convert_CompPolynomialToPoles.hxx is in liboce-foundation-dev 0.17.1-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 | // This file is generated by WOK (CPPExt).
// Please do not edit this file; modify original file instead.
// The copyright and license terms as defined for the original file apply to
// this header file considered to be the "object code" form of the original source.
#ifndef _Convert_CompPolynomialToPoles_HeaderFile
#define _Convert_CompPolynomialToPoles_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Macro.hxx>
#include <Handle_TColStd_HArray1OfReal.hxx>
#include <Handle_TColStd_HArray1OfInteger.hxx>
#include <Handle_TColStd_HArray2OfReal.hxx>
#include <Standard_Integer.hxx>
#include <Standard_Boolean.hxx>
class TColStd_HArray1OfReal;
class TColStd_HArray1OfInteger;
class TColStd_HArray2OfReal;
class Standard_OutOfRange;
class Standard_ConstructionError;
class TColStd_Array1OfInteger;
class TColStd_Array1OfReal;
class TColStd_Array2OfReal;
//! Convert a serie of Polynomial N-Dimensional Curves
//! that are have continuity CM to an N-Dimensional Bspline Curve
//! that has continuity CM.
//! (to convert an function (curve) polynomial by span in a BSpline)
//! This class uses the following arguments :
//! NumCurves : the number of Polynomial Curves
//! Continuity: the requested continuity for the n-dimensional Spline
//! Dimension : the dimension of the Spline
//! MaxDegree : maximum allowed degree for each composite
//! polynomial segment.
//! NumCoeffPerCurve : the number of coefficient per segments = degree - 1
//! Coefficients : the coefficients organized in the following way
//! [1..<myNumPolynomials>][1..myMaxDegree +1][1..myDimension]
//! that is : index [n,d,i] is at slot
//! (n-1) * (myMaxDegree + 1) * myDimension + (d-1) * myDimension + i
//! PolynomialIntervals : nth polynomial represents a polynomial between
//! myPolynomialIntervals->Value(n,0) and
//! myPolynomialIntervals->Value(n,1)
//! TrueIntervals : the nth polynomial has to be mapped linearly to be
//! defined on the following interval :
//! myTrueIntervals->Value(n) and myTrueIntervals->Value(n+1)
//! so that it represent adequatly the function with the
//! required continuity
class Convert_CompPolynomialToPoles
{
public:
DEFINE_STANDARD_ALLOC
//! Warning!
//! Continuity can be at MOST the maximum degree of
//! the polynomial functions
//! TrueIntervals :
//! this is the true parameterisation for the composite curve
//! that is : the curve has myContinuity if the nth curve
//! is parameterized between myTrueIntervals(n) and myTrueIntervals(n+1)
//!
//! Coefficients have to be the implicit "c form":
//! Coefficients[Numcurves][MaxDegree+1][Dimension]
//!
//! Warning!
//! The NumberOfCoefficient of an polynome is his degree + 1
//! Example: To convert the linear function f(x) = 2*x + 1 on the
//! domaine [2,5] to BSpline with the bound [-1,1]. Arguments are :
//! NumCurves = 1;
//! Continuity = 1;
//! Dimension = 1;
//! MaxDegree = 1;
//! NumCoeffPerCurve [1] = {2};
//! Coefficients[2] = {1, 2};
//! PolynomialIntervals[1,2] = {{2,5}}
//! TrueIntervals[2] = {-1, 1}
Standard_EXPORT Convert_CompPolynomialToPoles(const Standard_Integer NumCurves, const Standard_Integer Continuity, const Standard_Integer Dimension, const Standard_Integer MaxDegree, const Handle(TColStd_HArray1OfInteger)& NumCoeffPerCurve, const Handle(TColStd_HArray1OfReal)& Coefficients, const Handle(TColStd_HArray2OfReal)& PolynomialIntervals, const Handle(TColStd_HArray1OfReal)& TrueIntervals);
//! To Convert sevral span with different order of Continuity.
//! Warning: The Length of Continuity have to be NumCurves-1
Standard_EXPORT Convert_CompPolynomialToPoles(const Standard_Integer NumCurves, const Standard_Integer Dimension, const Standard_Integer MaxDegree, const TColStd_Array1OfInteger& Continuity, const TColStd_Array1OfInteger& NumCoeffPerCurve, const TColStd_Array1OfReal& Coefficients, const TColStd_Array2OfReal& PolynomialIntervals, const TColStd_Array1OfReal& TrueIntervals);
//! To Convert only one span.
Standard_EXPORT Convert_CompPolynomialToPoles(const Standard_Integer Dimension, const Standard_Integer MaxDegree, const Standard_Integer Degree, const TColStd_Array1OfReal& Coefficients, const TColStd_Array1OfReal& PolynomialIntervals, const TColStd_Array1OfReal& TrueIntervals);
//! number of poles of the n-dimensional BSpline
Standard_EXPORT Standard_Integer NbPoles() const;
//! returns the poles of the n-dimensional BSpline
//! in the following format :
//! [1..NumPoles][1..Dimension]
Standard_EXPORT void Poles (Handle(TColStd_HArray2OfReal)& Poles) const;
Standard_EXPORT Standard_Integer Degree() const;
//! Degree of the n-dimensional Bspline
Standard_EXPORT Standard_Integer NbKnots() const;
//! Knots of the n-dimensional Bspline
Standard_EXPORT void Knots (Handle(TColStd_HArray1OfReal)& K) const;
//! Multiplicities of the knots in the BSpline
Standard_EXPORT void Multiplicities (Handle(TColStd_HArray1OfInteger)& M) const;
Standard_EXPORT Standard_Boolean IsDone() const;
protected:
private:
Standard_EXPORT void Perform (const Standard_Integer NumCurves, const Standard_Integer MaxDegree, const Standard_Integer Dimension, const TColStd_Array1OfInteger& NumCoeffPerCurve, const TColStd_Array1OfReal& Coefficients, const TColStd_Array2OfReal& PolynomialIntervals, const TColStd_Array1OfReal& TrueIntervals) ;
Handle(TColStd_HArray1OfReal) myFlatKnots;
Handle(TColStd_HArray1OfReal) myKnots;
Handle(TColStd_HArray1OfInteger) myMults;
Handle(TColStd_HArray2OfReal) myPoles;
Standard_Integer myDegree;
Standard_Boolean myDone;
};
#endif // _Convert_CompPolynomialToPoles_HeaderFile
|