### 9.5.4. Detailed Class Structure

The following classes are described:

- xMsg Class
- BgArr Class
- BgEnum Class
- Bg3dPnt Class
- BgMLDat Class
- BgMLDatArr Class
- BgMLDatArrArr Class
- BgMLDatArrArrArr Class
- BgBlade Class
- BgBladeArr Class
- BgSpanDef Class
- BgSpanDefAng Class
- BgSpanDefThk Class
- BgFilingData Class
- BgModel Class

#### 9.5.4.1. xMsg Class

Header File

xMsg.h

Description

This class is used when an exception is thrown. It contains a string that can be used to describe the reason for the exception.

Data Members

`char *m_pszMsg;`

Member Functions

`xMsg( const char *pszStr )`

`~xMsg()`

`xMsg( const xMsg &Msg )`

`xMsg& operator=( const xMsg &Msg )`

`void SetMsg( const char *pszStr )`

`const char *Why() const`

#### 9.5.4.2. BgArr Class

Header File

bgArr.h

Description

This template class acts as a resizeable array. All objects in the array are stored as pointers to objects. It is a simplified version of the basic BladeGen array.

Specializations

BgMLDatArr

BgMLDatArrArr

BgMLDatArrArrArr

BgBladeArr

Data Members

`bool m_bOwnsObjs;`

`int m_nObj;`

`int m_nGrowBy;`

`int m_nObjMax;`

`PT *m_ppObj;`

`bool m_bDirty;`

Member Functions

`BgArr( int nMax=16, bool bOwns=true )` Description: Basic Constructor

`BgArr( const BgArr& O )` Description: Constructor from another BgArr<T> object. WARNING: Does not copy data, only settings.

`BgArr &operator=( const BgArr& O )` Description: Assignment operator from another BgArr<T> object. WARNING: Does not copy data, only settings.

`virtual ~BgArr();` Description: Virtual Destructor.

`virtual BgArr &Prepend( BgArr &A );` Description: Function prepends the specified values to this array.

`virtual BgArr &Append( BgArr &A );` Description: Function appends the specified values to this array.

`T* operator[]( int n )` Description: Operator returns a reference to the value at the specified index.

`const T* operator[]( int n ) const` Description: Operator returns a constant reference to the value at the specified index.

`T* First() const` Description: Function returns a reference to the first value of the array.

`T* Last() const` Description: Function returns a reference to the last value of the array.

`bool Dirty() const` Description: Function returns the status of the dirty value. This value is set whenever the array is modified (added or removing objects).

`virtual void SetDirty( bool bVal = true )` Description: Function sets the status of the dirty value. This value is set whenever the array is modified (added or removing objects).

`bool OwnsObjs() const` Description: Function returns the status of the owns object value. This value indicates if the objects are destroyed when the array is destroyed.

`void SetOwnsObjs( bool bOwns )` Description: Function sets the status of the owns object value. This value indicates if the objects are destroyed when the array is destroyed.

`int Count() const` Description: Function returns the number of objects contained in the array.

`int GrowBy() const` Description: Function returns the number of objects that the array will grow by when objects are added.

`T* ItemAt( int n )` Description: Function returns a reference to the value at the specified index.

`T* ItemAt( int n ) const`

`virtual bool Has( const T *pObj ) const` Description: Function returns true if the array contains the object (by memory address).

`virtual int Find( const T *pObj ) const;` Description: Function returns index to the specified object (by memory address). Returns MAXINT if object was not found.

`virtual bool Add( T *pObj );` Description: Function adds the object to the array.

`virtual bool AddAt( int n, T *pObj );` Description: Function adds the object to the array at the position specified.

`virtual bool Detach( int n );` Description: Function removed the object at the specified index from the array.

`virtual bool Detach( T *pObj )` Description: Function removed the object from the array.

`virtual bool Destroy( int n )` Description: Function removed the object at the specified index from the array and destroys it.

`virtual bool Destroy( T *pObj )` Description: Function removed the object from the array and destroys it.

`void Flush();` Description: Function removes all object from the array. If the bOwnsObjs flag is set, the objects are destroyed as well.

`void ReverseOrder();` Description: Function reverses the order of the objects in the array.

#### 9.5.4.3. BgEnum Class

Header File

BgMLDat.h

Description

This class contains the common enumerators and static variables for the UserIO classes.

Specializations

BgMLDatArr

BgMLDatArrArr

BgBlade

BgModel

Data Members

Member Functions

#### 9.5.4.4. Bg3dPnt Class

Header File

BgMLDat.h

Description

This class describes a 3 Dimensional Cartesian point. Basic operators are provided to allow addition, subtraction, and scaling. Basic functions are provided.

Data Members

double dX;

double dY;

double dZ;

Member Functions

`Bg3dPnt( const double &x=0.0, const double &y=0.0, const double &z=0.0 )`

`Bg3dPnt operator+ ( const Bg3dPnt& P ) const` Description: Adds two Bg3dPnt objects together.

`Bg3dPnt operator- ( const Bg3dPnt& P ) const` Description: Subtracts a Bg3dPnt object from another.

`Bg3dPnt operator* ( const double& dFac ) const` Description: Multiplies a Bg3dPnt object by a factor.

`Bg3dPnt operator/ ( const double& dFac ) const` Description: Divides a Bg3dPnt object by a factor.

`Bg3dPnt &operator+= ( const Bg3dPnt& P )` Description: Adds a Bg3dPnt object to this object.

`Bg3dPnt &operator-= ( const Bg3dPnt& P )` Description: Subtracts a Bg3dPnt object from this object.

`Bg3dPnt &operator*= ( const double& dFac )` Description: Multiplies this object by a factor.

`Bg3dPnt &operator/= ( const double& dFac )` Description: Divides this object by a factor.

`Bg3dPnt operator-() const` Description: Unary negative, returns the negative of this object.

`double Magnitude() const` Description: Function to return the length of a line from the origin to this point.

`Bg3dPnt &Normalized()` Description: Function to scale the object to a unit vector.

`Bg3dPnt RotatedAboutX( const double &dAng ) const` Description: Function to return the result of rotating this object about the X axis by the specified angle (radians).

Bg3dPnt RotatedAboutY( const double &dAng ) const Description: Function to return the result of rotating this object about the Y axis by the specified angle (radians).

`Bg3dPnt RotatedAboutZ( const double &dAng ) const` Description: Function to return the result of rotating this object about the Z axis by the specified angle (radians).

Friend Functions

`Bg3dPnt operator* ( const double &dFac, const Bg3dPnt &V );`

`Bg3dPnt operator/ ( const double &dFac, const Bg3dPnt &V );`

`double Magnitude( const Bg3dPnt& V );`

`double Magnitude2( const Bg3dPnt& V );`

`double Dist( const Bg3dPnt& V1, const Bg3dPnt& V2 );`

`Bg3dPnt UnitVector( const Bg3dPnt& V );`

`double AngleBetween( const Bg3dPnt &V1, const Bg3dPnt &V2 );`

`double DotProduct( const Bg3dPnt& v1, const Bg3dPnt& v2 );`

`Bg3dPnt CrossProduct( const Bg3dPnt& v1, const Bg3dPnt& v2 );`

`double B2BDist( const BgMLDat &mlD1, const BgMLDat &mlD2, bool bTrueB2B = false );`

`double MerDist( const BgMLDat &dD1, const BgMLDat &dD2 );`

#### 9.5.4.5. BgMLDat Class

Header File

BgMLDat.h

Description

This class describes a mean line data point. The location is stored in Cylindrical coordinates; meridional coordinates are also provided.

Data Members

`double dR;`

`double dTheta;`

`double dZ;`

`double dNrmThk;`

`bool bSharp;`

`double dBeta;`

`double dS;`

`double dM;`

`double dMp;`

`double dC;`

`double dSec;`

Member Functions

`BgMLDat( const double &dZi=0.0, const double &dRi=0.0, const double &dThetai=0.0, const double &dNrmThki=0.0, const double &dBetai=0.0, const double &dSi=0.0, const double &dMi=0.0, const double &dMpi=0.0, const double &dCi=0.0, const double &dSeci=0.0, bool bSharpi=false );` Description: Basic constructor for BgMLDat object from individual values.

`BgMLDat( const BgMLDat &mlDat );` Description: Basic constructor for BgMLDat object another object.

`BgMLDat &operator=( const BgMLDat &mlDat );` Description: Assignment operator.

`operator Bg3dPnt()` Description: Conversion operator returns a Bg3dPnt from a BgMLDat.

`double RT() const` Description: Function returns R*Theta.

`double RT( const double &dThetaRef ) const` Description: Function returns R*(Theta-ThetaRef).

`BgMLDat operator+( const BgMLDat &D ) const` Description: Adds two BgMLDat objects together.

`BgMLDat operator-( const BgMLDat &D ) const` Description: Subtracts a BgMLDat object from another.

`BgMLDat operator*( const double &dFac ) const` Description: Multiplies a BgMLDat object by a factor.

`static int NumVar()` Description: Function returns the number of variables available for interpolation.

`void SetVar( int iVar, const double &dVal )` Description: Function sets a variable identified by the index to the specified value.

`const double &Var( int iVar ) const` Description: Function returns a variable identified by the index.

`virtual void Read( istream &is );` Description: Function reads a BgMLDat object from the input stream.

`virtual void Save( ostream &os ) const;` Description: Function saves a BgMLDat object to the output stream.

Friend Functions

`double B2BDist( const BgMLDat &mlD1, const BgMLDat &mlD2, bool bTrueB2B = false );`

`double MerDist( const BgMLDat &dD1, const BgMLDat &dD2 );`

Friend Functions for BgMLDatArr::InterpUsing

`const double &Sf( const BgMLDat &Dat );`

`const double &Mf( const BgMLDat &Dat );`

`const double &Mpf( const BgMLDat &Dat );`

`const double &Cf( const BgMLDat &Dat );`

#### 9.5.4.6. BgMLDatArr Class

Header File

BgMLDat.h

Base Classes

BgArr

BgEnum

Description

This class describes a layer of mean line data points.

Data Members

`ThkDatType m_eThkDat;`

`uint m_uiFlags;`

Member Functions

`BgMLDatArr( ThkDatType eThkDat=NormMeanThk, uint uiFlag=AllData );` Description: Basic Constructor.

`BgMLDatArr( const BgMLDatArr &Arr );` Description: Constructor from another object, copies the entire array.

`virtual ~BgMLDatArr();` Description: Destructor.

`BgMLDatArr &operator=( const BgMLDatArr &Arr );` Description: Assignment operator; copies entire array.

`void CreateMeanLineFrom( const BgMLDatArr &Ref, const BgMLDatArr &Side1, const BgMLDatArr &Side2, int nPnt=30 );` Description: Function uses the Ref curve and generates this mean line curve the Side1 and Side2 curves, using the specified number of points.

`uint Flags() const` Description: Function returns the flag value.

`void SetFlags( uint uiVal )` Description: Function sets the flag value.

`BgMLDat DatNearestMer( const BgMLDat &mlDat );` Description: Function interpolates to the nearest point to the specified point, in the Meridional (Z,R) coordinate system.

`BgMLDat DatNearestB2B( const BgMLDat &mlDat );` Description: Function interpolates to the nearest point to the specified point, in the Blade-To-Blade (Mp,Theta) coordinate system.

`BgMLDat InterpUsing( ValueFunc Value, const double &dVal );` Description: Function interpolates to the value specified using the BgMLDat value functions (Sf, Mf, Mpf, Cf).

`BgMLDat DatAt( const double &dS, SideType eSide );` Description: Function returns the value at the specified S position, at the SideType location.

`BgMLDat DatAt( int i, SideType eSide );` Description: Function returns the value at the index, at the SideType location.

`BgMLDat ML2Cyl( const BgMLDat &mlDat, SideType eSide );` Description: Function converts mean line data to the specified SideType location.

`virtual void Read( istream &is );`

`virtual void Save( ostream &os ) const;`

#### 9.5.4.7. BgMLDatArrArr Class

Header File

BgMLDat.h

Base Classes

BgArr

BgEnum

Description

This class describes an array of mean line data arrays (layers), which can represent a blade.

Data Members

`AngDatType m_eAngDat;` Description: Specifies the angular value type that the arrays are describing (See BgEnum).

`ThkDatType m_eThkDat;` Description: Specifies the thickness value type that the arrays are describing (See BgEnum).

Member Functions

`BgMLDatArrArr( AngDatType eAngDat=MeanLineAng, ThkDatType eThkDat=NormMeanThk );` Description: Basic Constructor.

`BgMLDatArrArr( const BgMLDatArrArr &Arr );` Description: Constructor from another object, copies the entire array.

`virtual ~BgMLDatArrArr();` Description: Destructor.

`BgMLDatArrArr &operator=( const BgMLDatArrArr &Arr );` Description: Assignment operator, copies entire array.

`AngDatType AngDat() const` Description: Function returns the AngDatType value.

`void SetAngDat( AngDatType eType )` Description: Function sets the AngDatType value.

`ThkDatType ThkDat() const` Description: Function returns the ThkDatType value.

`void SetThkDat( ThkDatType eType )` Description: Function sets the ThkDatType value.

`void SetDatType( AngDatType eAngDat, ThkDatType eThkDat )` Description: Function sets the AngDatType and ThkDatType values.

#### 9.5.4.8. BgMLDatArrArrArr Class

Header File

BgMLDat.h

Base Classes

BgArr

Description

This class describes an array of layer arrays (blades), which can represent a blade system.

Data Members

Member Functions

`BgMLDatArrArrArr( int nGrow=4, bool bOwns=true ) : BgArr<BgMLDatArrArr>( nGrow, bOwns )` Description: Basic Constructor.

`virtual ~BgMLDatArrArrArr()` Description: Virtual Destructor.

#### 9.5.4.9. BgBlade Class

Header File

BgBlade.h

Base Classes

BgEnum

Description

This class describes a blade through its variables and objects. The default constructor creates a default BladeGen blade, but without data arrays.

Data Members

`BgMLDatArrArr m_Mean;`

`BgMLDatArrArr m_Side1;`

`BgMLDatArrArr m_Side2;`

`double m_dPitchFrac;`

`bool m_bSafeCurveTypes;`

`BgSpanDefAng m_AngDef;`

`BgSpanDefThk m_ThkDef;`

`LeTeEndType m_eLeEnd;`

`double m_dLeHubRatio;`

`double m_dLeShrRatio;`

`LeTeEndType m_eTeEnd;`

`double m_dTeHubRatio;`

`double m_dTeShrRatio;`

`bool m_bEllipseTang;`

`static const double s_dEllipseLimit;`

`BgFilingData m_LeSide1Filing;`

`BgFilingData m_LeSide2Filing;`

`BgFilingData m_TeSide1Filing;`

`BgFilingData m_TeSide2Filing;`

`HubShrEndType m_eHubType;`

`double m_dHubLeRad;`

`double m_dHubTeRad;`

`HubShrEndType m_eShrType;`

`double m_dShrLeRad;`

`double m_dShrTeRad;`

Member Functions

`BgBlade( const double dPitchFrac=0.0, bool bSafeCurveTypes=true );` Description: Basic Constructor. See the PitchFrac and SafeCurveTypes functions for a description of the parameters.

BgBlade( const BgBlade &B ); Description: Constructor from another BgBlade object.

`virtual ~BgBlade();` Description: Virtual Destructor.

`BgBlade &operator=( const BgBlade &B );` Description: Assignment operator from another BgBlade object.

`BgMLDatArrArr &Mean();` Description: Function returns the Mean Line Array.

const BgMLDatArrArr &Mean() const; Description: Function returns the Mean Line Array.

`BgMLDatArrArr &Side1();` Description: Function returns the Side1 Array (only used for Prs/Sct Mode).

`const BgMLDatArrArr &Side1() const;` Description: Function returns the Side1 Array (only used for Prs/Sct Mode).

`BgMLDatArrArr &Side2();` Description: Function returns the Side2 Array (only used for Prs/Sct Mode).

`const BgMLDatArrArr &Side2() const;` Description: Function returns the Side2 Array (only used for Prs/Sct Mode).

`const double &PitchFrac() const;` Description: Function returns the location of the Blade as pitch fraction.

`void SetPitchFrac( double &dVal );` Description: Function sets the location of the Blade as pitch fraction.

`bool SafeCurveTypes() const;` Description: Function returns the SaveCurveTypes bool, used to control the curve types during BladeGen blade construction. A value of true means that BestFitPoly and PiecewiseLinear curve types will be used for the angle and thickness curves, respectively. A value of false means that CubicSpline curves will be used for both the angle and thickness curves.

`void SetSafeCurveTypes( bool bSaveCurveTypes );` Description: Function sets the SaveCurveTypes bool, used to control the curve types during BladeGen blade construction. A value of true means that BestFitPoly and PiecewiseLinear curve types will be used for the angle and thickness curves, respectively. A value of false means that CubicSpline curves will be used for both the angle and thickness curves.

BgSpanDefAng &AngSpanDef(); Description: Function returns a reference to the AngSpanDef object to allow modification.

`const BgSpanDefAng &AngSpanDef() const;` Description: Function returns a const reference to the AngSpanDef object for interrogation.

`BgSpanDefThk &ThkSpanDef();` Description: Function returns a reference to the ThkSpanDef object to allow modification.

`const BgSpanDefThk &ThkSpanDef() const;` Description: Function returns a const reference to the ThkSpanDef object for interrogation.

LeTeEndType LeEnd() const; Description: Function returns the leading edge EndType value.

void SetLeEnd( LeTeEndType eVal ); Description: Function sets the leading edge EndType value.

`double LeHubRatio() const;` Description: Function returns the leading edge hub elliptical ratio, if applicable.

`double LeShrRatio() const;` Description: Function returns the leading edge shroud elliptical ratio, if applicable.

`void SetLeEllipseRatios( const double &dHub, const double &dShr );` Description: Function sets the leading edge hub and shroud elliptical ratio.

LeTeEndType TeEnd() const; Description: Function returns the trailing edge EndType value.

void SetTeEnd( LeTeEndType eVal ); Description: Function sets the trailing edge EndType value.

`double TeHubRatio() const;` Description: Function returns the trailing edge hub elliptical ratio, if applicable.

double TeShrRatio() const; Description: Function returns the trailing edge shroud elliptical ratio, if applicable.

`void SetTeEllipseRatios( const double &dHub, const double &dShr );` Description: Function sets the trailing edge hub and shroud elliptical ratio.

`bool EllipseTang() const;` Description: Function returns the bool flag for tangential ellipses.

`void SetEllipseTang( bool bVal );` Description: Function sets the bool flag for tangential ellipses.

`void SetLeSide1Filing( const BgFilingData &LeSide1Filing );` Description: Function sets the leading edge, side 1 over/under-filing data.

`BgFilingData &LeSide1Filing();` Description: Function returns the leading edge, side 1 over/under-filing data for modification.

`const BgFilingData &LeSide1Filing() const;` Description: Function returns the leading edge, side 1 over/under-filing data for interrogation.

`void SetLeSide2Filing( const BgFilingData &LeSide2Filing );` Description: Function sets the leading edge, side 2 over/under-filing data.

`BgFilingData &LeSide2Filing();` Description: Function returns the leading edge, side 2 over/under-filing data for modification.

`const BgFilingData &LeSide2Filing() const;` Description: Function returns the leading edge, side 2 over/under-filing data for interrogation.

`void SetTeSide1Filing( const BgFilingData &TeSide1Filing );` Description: Function sets the trailing edge, side 1 over/under-filing data.

`BgFilingData &TeSide1Filing();` Description: Function returns the trailing edge, side 1 over/under-filing data for modification.

`const BgFilingData &TeSide1Filing() const;` Description: Function returns the trailing edge, side 1 over/under-filing data for interrogation.

`void SetTeSide2Filing( const BgFilingData &TeSide2Filing );` Description: Function sets the trailing edge, side 2 over/under-filing data.

`BgFilingData &TeSide2Filing();` Description: Function returns the trailing edge, side 2 over/under-filing data for modification.

`const BgFilingData &TeSide2Filing() const;` Description: Function returns the trailing edge, side 2 over/under-filing data for interrogation.

`void SetHubEndType( HubShrEndType eType, const double &dLeRad=0.0, const double &dTeRad=0.0 );` Description: Function sets the hub edge configuration.

`HubShrEndType HubEndType() const;` Description: Function returns the hub edge type.

`const double &HubLeRad() const;` Description: Function returns the hub leading edge radius value.

`const double &HubTeRad() const;` Description: Function returns the hub trailing edge radius value.

`void SetShrEndType( HubShrEndType eType, const double &dLeRad=0.0, const double &dTeRad=0.0 );` Description: Function sets the shroud edge configuration.

`HubShrEndType ShrEndType() const;` Description: Function returns the shroud edge type.

`const double &ShrLeRad() const;` Description: Function returns the shroud leading edge radius value.

`const double &ShrTeRad() const;` Description: Function returns the shroud trailing edge radius value.

`virtual void Read( istream &is );`

`virtual void Save( ostream &os ) const;`

#### 9.5.4.10. BgBladeArr Class

Header File

BgBlade.h

Base Classes

BgArr

Description

This array holds BgBlade objects.

Data Members

Member Functions

`BgBladeArr( int nGrow=4, bool bOwns=true ) : BgArr<BgBlade>( nGrow, bOwns )` Description: Basic Constructor.

`virtual ~BgBladeArr()` Description: Virtual Destructor.

#### 9.5.4.11. BgSpanDef Class

Header File

BgSpanDef.h

Description

The class describes the properties of a generic spanwise distribution.

Specializations

BgSpanDefAng

BgSpanDefThk

Data Members

`int m_nSpan;`

`int m_nStrm;`

`char *m_pszEquations;`

`bool m_bAutoFit;`

`double m_dInitStep;`

`double m_dFinalStep;`

Member Functions

`BgSpanDef( int nSpan=13, int nStrm=13, const char *pszEquations=NULL, bool bAutoFit=true, const double &dInitStep=0.1, const double &dFinalStep=1.0e-6 );` Description: Basic Constructor.

`virtual ~BgSpanDef();` Description: Virtual Destructor.

int NumSpan() const; Description: Function returns the number of span-wise points to use when fitting data (User-Defined Mode).

`int NumStrm() const;` Description: Function returns the number of stream-wise points to use when fitting data (User-Defined Mode).

`void SetNum( int nSpan, int nStrm );` Description: Function sets the number of span-wise and stream-wise points to use when fitting data (User-Defined Mode).

`const char *Equations() const;` Description: Function returns the equation string (User-Defined Mode).

`void SetEquations( const char *pszEquations );` Description: Function sets the equation string (User-Defined Mode).

`bool AutoFit() const;` Description: Function returns the flag to indicate if fitting is to be performed (User-Defined Mode).

`const double &InitStep() const;` Description: Function returns the initial step size to use if fitting is to be performed (User-Defined Mode).

`const double &FinalStep() const;` Description: Function returns the final step size to use if fitting is to be performed (User-Defined Mode).

`void SetFitParm( bool bAutoFit=true, const double &dInitStep=0.1, const double &dFinalStep=1.0e-6 );` Description: Function sets the initial and final step sizes to use if fitting is to be performed (User-Defined Mode).

`virtual void Read( istream &is );`

`virtual void Save( ostream &os ) const;`

#### 9.5.4.12. BgSpanDefAng Class

Header File

BgSpanDef.h

Base Classes

BgSpanDef

Description

The class describes the properties of a angle definition spanwise distribution.

Data Members

`DefType m_eDefType;`

Member Functions

`BgSpanDefAng( DefType eDefType=GenAngDef, int nSpan=13, int nStrm=13, const char *pszEquations=NULL, bool bAutoFit=true, const double &dInitStep=0.1, const double &dFinalStep=1.0e-6 );` Description: Basic Constructor.

`DefType SpanDef() const;` Description: Function returns the spanwise interpolation mode.

`void SetSpanDef( DefType eDefType=GenAngDef );` Description: Function sets the spanwise interpolation mode.

`virtual void Read( istream &is );`

`virtual void Save( ostream &os ) const;`

#### 9.5.4.13. BgSpanDefThk Class

Header File

BgSpanDef.h

Base Classes

BgSpanDef

Description

The class describes the properties of a thickness definition spanwise distribution.

Data Members

`DefType m_eDefType;`

Member Functions

`BgSpanDefThk( DefType eDefType=GenThkDef, int nSpan=13, int nStrm=13, const char *pszEquations=NULL, bool bAutoFit=true, const double &dInitStep=0.1, const double &dFinalStep=1.0e-6 );` Description: Basic Constructor.

`DefType SpanDef() const;` Description: Function returns the spanwise interpolation mode.

`void SetSpanDef( DefType eDefType=GenThkDef );` Description: Function sets the spanwise interpolation mode.

`virtual void Read( istream &is );`

`virtual void Save( ostream &os ) const;`

#### 9.5.4.14. BgFilingData Class

Header File

bgFilingData.h

Description

This class describes a Over/Under-Filing, on one ’corner’ of the blade. Four instances of this class are used to provide the full description.

Data Members

`double m_dHubLen;`

`double m_dShrLen;`

`bool m_bSclLen;`

`double m_dHubDep;`

`double m_dShrDep;`

`bool m_bSclDep;`

`double m_dHubRad;`

`double m_dShrRad;`

`bool m_bSclRad;`

Member Functions

`BgFilingData();` Description: Basic Constructor.

`BgFilingData( const BgFilingData &D );` Description: Constructor from another BgFilingData object.

`virtual ~BgFilingData();` Description: Virtual Destructor.

`BgFilingData &operator=( const BgFilingData &D );` Description: Assignment operator from another BgFilingData object.

`void Remove();` Description: Function removes the filing.

`void RemoveRadius();` Description: Function removes the radius from the filing.

`bool Filed() const;` Description: Function returns the filing status.

`bool HasRadius() const;` Description: Function returns the filing radius status.

`void SetValues( const double &dHubLen, const double &dShrLen, bool bSclLen, const double &dHubDep, const double &dShrDep, bool bSclDep, const double &dHubRad, const double &dShrRad, bool bSclRad );` Description: Function sets the filing values.

`const double &HubLen() const;` Description: Function returns the filing hub length.

`const double &ShrLen() const;` Description: Function returns the filing shroud length.

`bool SclLen() const;` Description: Function returns the filing length scaling by thickness flag.

`const double &HubDep() const;` Description: Function returns the filing hub depth.

`const double &ShrDep() const;` Description: Function returns the filing shroud depth.

`bool SclDep() const;` Description: Function returns the filing depth scaling by thickness flag.

`const double &HubRad() const;` Description: Function returns the filing hub radius.

`const double &ShrRad() const;` Description: Function returns the filing shroud radius.

`bool SclRad() const;` Description: Function returns the filing radius scaling by thickness flag.

`void Read( istream &is );`

`void Save( ostream &os ) const;`

#### 9.5.4.15. BgModel Class

Header File

BgModel.h

Base Classes

BgEnum

Description

This class describes a model and acts as the container of all model data. Access for input and output is provided through the member functions of this class.

Associations

`CBladeGeom`

`CldModel`

Data Members

`CBladeGeom *m_pGeom;` Description: Pointer to BladeGen object.

`CldModel *m_pModel;` Description: Pointer to Layer Model object, created for periodic output only.

Member Functions

`BgModel();` Description: Basic Constructor.

`virtual ~BgModel();` Description: Virtual Destructor.

`void Clear();` Description: Clears all data from the model.

`bool CreateDsgnMerDef( int nBladeSets, const BgBladeArr &BladeArr, bool bSafeCurveTypes=true, bool bBezierExtensions=false );` Description: Creates a Design Meridional Definition. Returns true if successful, false if unsuccessful. bSaveCurveTypes determines the curve type for the hub and shroud curves. A value of true indicates that a Piecewise Linear curve should be used. A value of false indicates that a Cubic Spline curve should be used. bBezerExtensions determines if the points outside the blade are Bezier control points. A value of true forces the segment type before and after the blade to be Bezier. A value of false means that the curve type is determined by the bSaveCurveType value.

`bool CreateDsgnMerDef( int nBladeSets, const BgMLDatArrArrArr &MeanArrArrArr, bool bSafeCurveTypes=true, bool bBezierExtensions=false );` Description: Creates a Design Meridional Definition. Returns true if successful, false if unsuccessful. bSaveCurveTypes determines the curve type for the hub and shroud curves. A value of true indicates that a Piecewise Linear curve should be used. A value of false indicates that a Cubic Spline curve should be used. bBezerExtensions determines if the points outside the blade are Bezier control points. A value of true forces the segment type before and after the blade to be Bezier. A value of false means that the curve type is determined by the bSaveCurveType value.

`bool CreateDsgnMerDef( int nBladeSets, const BgMLDatArrArr &MeanArrArr, bool bSafeCurveTypes=true, bool bBezierExtensions=false );` Description: Creates a Design Meridional Definition. Returns true if successful, false if unsuccessful. bSaveCurveTypes determines the curve type for the hub and shroud curves. A value of true indicates that a Piecewise Linear curve should be used. A value of false indicates that a Cubic Spline curve should be used. bBezerExtensions determines if the points outside the blade are Bezier control points. A value of true forces the segment type before and after the blade to be Bezier. A value of false means that the curve type is determined by the bSaveCurveType value.

`bool CreateDsgnCtrlCrv( const BgMLDatArr &Ctrl, const double &dEstS );` Description: Creates a Design Meridional Control Curve. Returns true if successful, false if unsuccessful.

`bool CreateBlades( const BgBladeArr &BladeArr );` Description: Creates a set of blades from an array. Returns true if successful, false if unsuccessful.

`bool CreateBlade( const BgBlade &Blade );` Description: Creates a blade. The first is the main blade, second is a splitter... Returns true if successful, false if unsuccessful.

`bool CreateTrimMerDef( int nLayers, BgMLDatArr *pHub=NULL, BgMLDatArr *pShr=NULL );` Description: Creates a Trim Meridional Definition. Design Definition must already exist. Returns true if successful, false if unsuccessful.

`bool CreateTrimCtrlCrv( const BgMLDatArr &Ctrl, const double &dEstS );` Description: Creates a Trim Meridional Control Curve. Returns true if successful, false if unsuccessful.

`bool ExportBlades( BgBladeArr &BladeArr );` Description: Exports the blades (1 or more) for the model. Returns true if successful, false if unsuccessful.

`int NumBladeSets();`

`int NumBlades();` Description: Returns the number of blades (1 or more). Equal to one plus the number of splitters.

`int NumLayers();` Description: Returns the number of layers (2 or more). Equal to one plus the number of splitters.

`bool PeriodicLayerData( int nLayer, BgMLDatArr &DatArr );` Description: Creates a mean line data array for the periodic surface at the specified layer.

`bool BladeLayerData( int nBlade, int nLayer, uint uiFlags, BgMLDatArr &DatArr );` Description: Creates a mean line data array for the specified blade at the specified layer.

`bool ExBladeLayerData( int nBlade, int nLayer, uint uiFlags, BgMLDatArr &DatArr );` Description: Creates a extended mean line data array for the specified blade at the specified layer. Data extends from inlet to outlet. Extensions have a thickness value of zero.

`double MidLenSpanFraction( int nLayer ) const;` Description: Returns the mid length span fraction for the specified layer.

`bool AreaProps( int nBlade, int nLayer, BgMLDat &mldCentroid, double &dArea );` Description: Defines the centroid and airfoil area of the specified blade at the specified layer. Returns true if successful, false if unsuccessful.

`double PitchFraction( int nBlade ) const;` Description: Returns the pitch fraction for the specified blade.

`EndType BladeLeEndType( int nBlade ) const;` Description: Returns the type of end on the leading edge of the specified blade.

`EndType BladeTeEndType( int nBlade ) const;` Description: Returns the type of end on the trailing edge of the specified blade.

`int NumLePoints( int nBlade, bool bExtended=false ) const;` Description: Returns the number of points in the leading edge of the specified blade. If bExtended is set to true, the number reflects the effect of the extension (if it exists).

`int NumTePoints( int nBlade, bool bExtended=false ) const;` Description: Returns the number of points in the trailing edge of the specified blade. If bExtended is set to true, the number reflects the effect of the extension (if it exists).

`bool PntAt( const double &dU, const double &dV, double &dZ, double &dR );` Description: Determines the meridional coordinate (Z,R) for the meridional position (U,V). Returns true if successful, false if unsuccessful. Input: const double &dZ, const double &dR. Output: double &dU, double &dV.

`bool CoordAt( const double &dZ, const double &dR, double &dU, double &dV );` Description: Determines the meridional position (U,V) for the meridional coordinate (Z,R). Returns true if successful, false if unsuccessful. Input: const double &dZ, const double &dR. Output: double &dU, double &dV.

`bool SaveBGI( const char *pszFileName );`

`bool ReadBGI( const char *pszFileName, ostream *pos=NULL, int nArg=0, char *pszArg[]=NULL );`

`bool SaveBGD( const char *pszFileName );`

`bool ReadBGD( const char *pszFileName );`

Release 18.2 - © ANSYS, Inc. All rights reserved.