3.0.0
tigl::CCPACSWing Class Reference

#include <CCPACSWing.h>

+ Inheritance diagram for tigl::CCPACSWing:

Public Member Functions

TIGL_EXPORT CCPACSWing (CCPACSWings *parent, CTiglUIDManager *uidMgr)
 
TIGL_EXPORT CCPACSWing (CCPACSRotorBlades *parent, CTiglUIDManager *uidMgr)
 
TIGL_EXPORT void CreateNewConnectedElementAfter (std::string startElementUID) override
 
TIGL_EXPORT void CreateNewConnectedElementBefore (std::string startElementUID) override
 
TIGL_EXPORT void CreateNewConnectedElementBetween (std::string startElementUID, std::string endElementUID) override
 
TIGL_EXPORT void DeleteConnectedElement (std::string ElementUID) override
 
TIGL_EXPORT std::vector< std::string > GetAllUsedAirfoils ()
 
TIGL_EXPORT double GetAspectRatio ()
 
TIGL_EXPORT gp_Pnt GetChordPoint (int segmentIndex, double eta, double xsi, TiglCoordinateSystem referenceCS=GLOBAL_COORDINATE_SYSTEM)
 
TIGL_EXPORT TiglGeometricComponentIntent GetComponentIntent () const override
 
TIGL_EXPORT CCPACSWingComponentSegmentGetComponentSegment (const int index)
 
TIGL_EXPORT const CCPACSWingComponentSegmentGetComponentSegment (const int index) const
 
TIGL_EXPORT CCPACSWingComponentSegmentGetComponentSegment (const std::string &uid)
 
TIGL_EXPORT int GetComponentSegmentCount () const
 
TIGL_EXPORT TiglGeometricComponentType GetComponentType () const override
 
TIGL_EXPORT CCPACSConfiguration & GetConfiguration () const
 
TIGL_EXPORT std::vector< CTiglSectionElement * > GetCTiglElements ()
 
TIGL_EXPORT std::string GetDefaultedUID () const override
 
TIGL_EXPORT double GetDihedral (double chordPercentage=0.25) const
 
TIGL_EXPORT std::vector< gp_Pnt > GetGuideCurvePoints ()
 
TIGL_EXPORT CCPACSGuideCurve & GetGuideCurveSegment (std::string uid)
 
TIGL_EXPORT TopoDS_Compound GetGuideCurveWires () const
 
TIGL_EXPORT TopoDS_Shape & GetLoftWithLeadingEdge ()
 
TIGL_EXPORT gp_Pnt GetLowerPoint (int segmentIndex, double eta, double xsi)
 
TIGL_EXPORT TopoDS_Shape & GetLowerShape ()
 
TIGL_EXPORT std::vector< std::string > GetOrderedConnectedElement () override
 
TIGL_EXPORT CTiglTransformation GetPositioningTransformation (std::string sectionUID)
 
TIGL_EXPORT double GetReferenceArea (TiglSymmetryAxis symPlane)
 
TIGL_EXPORT double GetReferenceArea ()
 
TIGL_EXPORT CTiglPoint GetRootLEPosition () const
 
TIGL_EXPORT CCPACSWingSection & GetSection (int index)
 
TIGL_EXPORT const CCPACSWingSection & GetSection (int index) const
 
TIGL_EXPORT int GetSectionCount () const
 
TIGL_EXPORT CCPACSWingSegmentGetSegment (const int index)
 
TIGL_EXPORT const CCPACSWingSegmentGetSegment (const int index) const
 
TIGL_EXPORT CCPACSWingSegmentGetSegment (std::string uid)
 
TIGL_EXPORT const CCPACSWingSegmentGetSegment (std::string uid) const
 
TIGL_EXPORT int GetSegmentCount () const
 
TIGL_EXPORT int GetSegmentEtaXsi (const gp_Pnt &xyz, double &eta, double &xsi, bool &onTop)
 
TIGL_EXPORT double GetSurfaceArea ()
 
TIGL_EXPORT double GetSweep (double chordPercentage=0.25) const
 
TIGL_EXPORT gp_Pnt GetUpperPoint (int segmentIndex, double eta, double xsi)
 
TIGL_EXPORT TopoDS_Shape & GetUpperShape ()
 
TIGL_EXPORT double GetVolume ()
 
TIGL_EXPORT double GetWettedArea (TopoDS_Shape parent)
 
TIGL_EXPORT double GetWingHalfSpan ()
 
TIGL_EXPORT void GetWingMAC (double &mac_chord, double &mac_x, double &mac_y, double &mac_z)
 
TIGL_EXPORT double GetWingSpan ()
 
TIGL_EXPORT Handle (Geom_Surface) GetLowerSegmentSurface(int index)
 
TIGL_EXPORT Handle (Geom_Surface) GetUpperSegmentSurface(int index)
 
TIGL_EXPORT void Invalidate ()
 
TIGL_EXPORT bool IsRotorBlade () const
 
TIGL_EXPORT void ReadCPACS (const TixiDocumentHandle &tixiHandle, const std::string &wingXPath) override
 
TIGL_EXPORT void Scale (double scaleF)
 
TIGL_EXPORT void SetAllAirfoils (const std::string &profileUID)
 
TIGL_EXPORT void SetAreaKeepAR (double newArea)
 
TIGL_EXPORT void SetAreaKeepSpan (double newArea)
 
TIGL_EXPORT void SetARKeepArea (double newAR)
 
TIGL_EXPORT void SetARKeepSpan (double newAR)
 
TIGL_EXPORT void SetDihedral (double dihedralAngle, double chordPercentage=0.25)
 
TIGL_EXPORT void SetHalfSpanKeepAR (double newHalfSpan)
 
TIGL_EXPORT void SetHalfSpanKeepArea (double newHalfSpan)
 
TIGL_EXPORT void SetRootLEPosition (CTiglPoint newRootPosition)
 
TIGL_EXPORT void SetRotation (CTiglPoint newRot)
 
TIGL_EXPORT void SetSweep (double sweepAngle, double chordPercentage=0.25)
 
TIGL_EXPORT ~CCPACSWing () override
 

Protected Member Functions

PNamedShape BuildFusedSegments (bool splitWingInUpperAndLower) const
 
void BuildGuideCurveWires (TopoDS_Compound &cache) const
 
PNamedShape BuildLoft () const override
 
void BuildUpperLowerShells ()
 
void Cleanup ()
 
void ConnectGuideCurveSegments (void)
 
void SetWingHelper (CTiglWingHelper &cache) const
 
void Update ()
 

Private Member Functions

std::string GetShortShapeName () const
 

Private Attributes

CCPACSConfiguration * configuration
 
FusedElementsContainerType fusedElements
 
TopoDS_Shape fusedSegmentWithEdge
 
Cache< TopoDS_Compound, CCPACSWingguideCurves
 
bool invalidated
 
bool isRotorBlade
 
TopoDS_Shape lowerShape
 
double myVolume
 
bool rebuildFusedSegments
 
bool rebuildFusedSegWEdge
 
bool rebuildShells
 
TopoDS_Shape upperShape
 
Cache< CTiglWingHelper, CCPACSWingwingHelper
 

Friends

class CCPACSWingComponentSegment
 
class CCPACSWingSegment
 
class CTiglStandardizer
 
class CTiglWingBuilder
 

Constructor & Destructor Documentation

TIGL_EXPORT tigl::CCPACSWing::CCPACSWing ( CCPACSWings parent,
CTiglUIDManager *  uidMgr 
)
TIGL_EXPORT tigl::CCPACSWing::CCPACSWing ( CCPACSRotorBlades *  parent,
CTiglUIDManager *  uidMgr 
)
TIGL_EXPORT tigl::CCPACSWing::~CCPACSWing ( )
override

Member Function Documentation

PNamedShape tigl::CCPACSWing::BuildFusedSegments ( bool  splitWingInUpperAndLower) const
protected
void tigl::CCPACSWing::BuildGuideCurveWires ( TopoDS_Compound &  cache) const
protected
PNamedShape tigl::CCPACSWing::BuildLoft ( ) const
overrideprotected
void tigl::CCPACSWing::BuildUpperLowerShells ( )
protected
void tigl::CCPACSWing::Cleanup ( )
protected
void tigl::CCPACSWing::ConnectGuideCurveSegments ( void  )
protected
TIGL_EXPORT void tigl::CCPACSWing::CreateNewConnectedElementAfter ( std::string  startElementUID)
override

Create a new section, a new element and connect the element to the "startElement". The new element is placed "after" the start element. If there is already a element after the start element, we split the existing segment and insert the new element between the the two elements.

Parameters
startElementUID
TIGL_EXPORT void tigl::CCPACSWing::CreateNewConnectedElementBefore ( std::string  startElementUID)
override

Create a new section, a new element and connect the element to the "startElement". The new element is placed "Before" the start element. If there is already a element before the start element, we split the existing segment and insert the new element between the the two elements.

Parameters
startElementUID
TIGL_EXPORT void tigl::CCPACSWing::CreateNewConnectedElementBetween ( std::string  startElementUID,
std::string  endElementUID 
)
override

Create a new section, a new element and place the new element between the startElement and the endElement.

Remarks
The startElement and endElement must be connected by a segment.
Parameters
startElementUID
endElementUID
TIGL_EXPORT void tigl::CCPACSWing::DeleteConnectedElement ( std::string  ElementUID)
override

Delete the connected element. This mean that the section containing the element is delete and the segment associated with this element are either deleted or updated.

Parameters
ElementUID
TIGL_EXPORT std::vector<std::string> tigl::CCPACSWing::GetAllUsedAirfoils ( )
Returns
Return all the uid of the airfoils used by this wing
TIGL_EXPORT double tigl::CCPACSWing::GetAspectRatio ( )
TIGL_EXPORT gp_Pnt tigl::CCPACSWing::GetChordPoint ( int  segmentIndex,
double  eta,
double  xsi,
TiglCoordinateSystem  referenceCS = GLOBAL_COORDINATE_SYSTEM 
)
TIGL_EXPORT TiglGeometricComponentIntent tigl::CCPACSWing::GetComponentIntent ( ) const
inlineoverride
TIGL_EXPORT CCPACSWingComponentSegment& tigl::CCPACSWing::GetComponentSegment ( const int  index)
TIGL_EXPORT const CCPACSWingComponentSegment& tigl::CCPACSWing::GetComponentSegment ( const int  index) const
TIGL_EXPORT CCPACSWingComponentSegment& tigl::CCPACSWing::GetComponentSegment ( const std::string &  uid)
TIGL_EXPORT int tigl::CCPACSWing::GetComponentSegmentCount ( ) const
TIGL_EXPORT TiglGeometricComponentType tigl::CCPACSWing::GetComponentType ( ) const
inlineoverride
TIGL_EXPORT CCPACSConfiguration& tigl::CCPACSWing::GetConfiguration ( ) const
TIGL_EXPORT std::vector<CTiglSectionElement* > tigl::CCPACSWing::GetCTiglElements ( )
TIGL_EXPORT std::string tigl::CCPACSWing::GetDefaultedUID ( ) const
override
TIGL_EXPORT double tigl::CCPACSWing::GetDihedral ( double  chordPercentage = 0.25) const
TIGL_EXPORT std::vector<gp_Pnt> tigl::CCPACSWing::GetGuideCurvePoints ( )
TIGL_EXPORT CCPACSGuideCurve& tigl::CCPACSWing::GetGuideCurveSegment ( std::string  uid)
TIGL_EXPORT TopoDS_Compound tigl::CCPACSWing::GetGuideCurveWires ( ) const
TIGL_EXPORT TopoDS_Shape& tigl::CCPACSWing::GetLoftWithLeadingEdge ( )
TIGL_EXPORT gp_Pnt tigl::CCPACSWing::GetLowerPoint ( int  segmentIndex,
double  eta,
double  xsi 
)
TIGL_EXPORT TopoDS_Shape& tigl::CCPACSWing::GetLowerShape ( )
TIGL_EXPORT std::vector<std::string> tigl::CCPACSWing::GetOrderedConnectedElement ( )
override
TIGL_EXPORT CTiglTransformation tigl::CCPACSWing::GetPositioningTransformation ( std::string  sectionUID)
TIGL_EXPORT double tigl::CCPACSWing::GetReferenceArea ( TiglSymmetryAxis  symPlane)
TIGL_EXPORT double tigl::CCPACSWing::GetReferenceArea ( )
TIGL_EXPORT CTiglPoint tigl::CCPACSWing::GetRootLEPosition ( ) const
TIGL_EXPORT CCPACSWingSection& tigl::CCPACSWing::GetSection ( int  index)
TIGL_EXPORT const CCPACSWingSection& tigl::CCPACSWing::GetSection ( int  index) const
TIGL_EXPORT int tigl::CCPACSWing::GetSectionCount ( ) const
TIGL_EXPORT CCPACSWingSegment& tigl::CCPACSWing::GetSegment ( const int  index)
TIGL_EXPORT const CCPACSWingSegment& tigl::CCPACSWing::GetSegment ( const int  index) const
TIGL_EXPORT CCPACSWingSegment& tigl::CCPACSWing::GetSegment ( std::string  uid)
TIGL_EXPORT const CCPACSWingSegment& tigl::CCPACSWing::GetSegment ( std::string  uid) const
TIGL_EXPORT int tigl::CCPACSWing::GetSegmentCount ( ) const
TIGL_EXPORT int tigl::CCPACSWing::GetSegmentEtaXsi ( const gp_Pnt &  xyz,
double &  eta,
double &  xsi,
bool &  onTop 
)
std::string tigl::CCPACSWing::GetShortShapeName ( ) const
private
TIGL_EXPORT double tigl::CCPACSWing::GetSurfaceArea ( )
TIGL_EXPORT double tigl::CCPACSWing::GetSweep ( double  chordPercentage = 0.25) const
TIGL_EXPORT gp_Pnt tigl::CCPACSWing::GetUpperPoint ( int  segmentIndex,
double  eta,
double  xsi 
)
TIGL_EXPORT TopoDS_Shape& tigl::CCPACSWing::GetUpperShape ( )
TIGL_EXPORT double tigl::CCPACSWing::GetVolume ( )
TIGL_EXPORT double tigl::CCPACSWing::GetWettedArea ( TopoDS_Shape  parent)
TIGL_EXPORT double tigl::CCPACSWing::GetWingHalfSpan ( )

Returns the half span of the wing If the wing is not mirrored, return the whole width.

Remarks
The span is computed using bounding Box. So, the result may no be exactly correct
Returns
half span of the wing
TIGL_EXPORT void tigl::CCPACSWing::GetWingMAC ( double &  mac_chord,
double &  mac_x,
double &  mac_y,
double &  mac_z 
)
TIGL_EXPORT double tigl::CCPACSWing::GetWingSpan ( )
TIGL_EXPORT tigl::CCPACSWing::Handle ( Geom_Surface  )
TIGL_EXPORT tigl::CCPACSWing::Handle ( Geom_Surface  )
TIGL_EXPORT void tigl::CCPACSWing::Invalidate ( )
TIGL_EXPORT bool tigl::CCPACSWing::IsRotorBlade ( ) const
TIGL_EXPORT void tigl::CCPACSWing::ReadCPACS ( const TixiDocumentHandle &  tixiHandle,
const std::string &  wingXPath 
)
override
TIGL_EXPORT void tigl::CCPACSWing::Scale ( double  scaleF)

Scale the wing uniformly. The root leading point stay at the same position.

Parameters
scaleFthe scale factor
TIGL_EXPORT void tigl::CCPACSWing::SetAllAirfoils ( const std::string &  profileUID)

Set the airfoil uid of all the section elements of this wing.

Parameters
profileUID; the airfoil UID to use
TIGL_EXPORT void tigl::CCPACSWing::SetAreaKeepAR ( double  newArea)

Set the wing reference area while keeping the aspect ratio constant. The area is set scaling the wing uniformly.

Remarks
The span will change.
Parameters
newArea
TIGL_EXPORT void tigl::CCPACSWing::SetAreaKeepSpan ( double  newArea)

Set the wing reference area while keeping the span constant. To obtain the wanted area each airfoil is scaled by the same factor. The leading point of each airfoil stay at the same position.

Remarks
The aspect ratio will change.
The tip airfoil is also scaled, so it is possible that the the span change slighly if the tip airfoil is not parallel to the deep axis.
Parameters
newArea
TIGL_EXPORT void tigl::CCPACSWing::SetARKeepArea ( double  newAR)

Set the wing aspect ratio (AR) while keeping the area constant. The span will change so that the AR is reached.

Parameters
newAR
TIGL_EXPORT void tigl::CCPACSWing::SetARKeepSpan ( double  newAR)

Set the wing aspect ratio (AR) while keeping the span constant. The area will change so that the AR is reached.

Parameters
newAR
TIGL_EXPORT void tigl::CCPACSWing::SetDihedral ( double  dihedralAngle,
double  chordPercentage = 0.25 
)
TIGL_EXPORT void tigl::CCPACSWing::SetHalfSpanKeepAR ( double  newHalfSpan)

Set the wing half span while keeping the aspect ratio constant. The span is set scaling the wing uniformly.

Remarks
The area will change.
Parameters
newArea
TIGL_EXPORT void tigl::CCPACSWing::SetHalfSpanKeepArea ( double  newHalfSpan)

Set the wing half span while keeping the area constant. The span is set by first scaling the wing uniformly, then resetting the area while keeping the span constant.

Remarks
The aspect ratio will change.
Parameters
newArea
TIGL_EXPORT void tigl::CCPACSWing::SetRootLEPosition ( CTiglPoint  newRootPosition)
TIGL_EXPORT void tigl::CCPACSWing::SetRotation ( CTiglPoint  newRot)
TIGL_EXPORT void tigl::CCPACSWing::SetSweep ( double  sweepAngle,
double  chordPercentage = 0.25 
)
void tigl::CCPACSWing::SetWingHelper ( CTiglWingHelper &  cache) const
protected
void tigl::CCPACSWing::Update ( )
protected

Friends And Related Function Documentation

friend class CCPACSWingComponentSegment
friend
friend class CCPACSWingSegment
friend
friend class CTiglStandardizer
friend
friend class CTiglWingBuilder
friend

Field Documentation

CCPACSConfiguration* tigl::CCPACSWing::configuration
private

Parent configuration

FusedElementsContainerType tigl::CCPACSWing::fusedElements
private

Stores already fused segments

TopoDS_Shape tigl::CCPACSWing::fusedSegmentWithEdge
private

All Segments in one shape plus modelled leading edge

Cache<TopoDS_Compound, CCPACSWing> tigl::CCPACSWing::guideCurves
private
bool tigl::CCPACSWing::invalidated
private

Internal state flag

bool tigl::CCPACSWing::isRotorBlade
private

Indicates if this wing is a rotor blade

TopoDS_Shape tigl::CCPACSWing::lowerShape
private
double tigl::CCPACSWing::myVolume
private

Volume of this Wing

bool tigl::CCPACSWing::rebuildFusedSegments
private

Indicates if segmentation fusing need rebuild

bool tigl::CCPACSWing::rebuildFusedSegWEdge
private

Indicates if segmentation fusing need rebuild

bool tigl::CCPACSWing::rebuildShells
private
TopoDS_Shape tigl::CCPACSWing::upperShape
private
Cache<CTiglWingHelper, CCPACSWing> tigl::CCPACSWing::wingHelper
private

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