3.4.0
tigl::CTiglSectionElement Class Referenceabstract

#include <CTiglSectionElement.h>

+ Inheritance diagram for tigl::CTiglSectionElement:

Public Member Functions

TIGL_EXPORT double GetArea (TiglCoordinateSystem referenceCS=GLOBAL_COORDINATE_SYSTEM) const
 
TIGL_EXPORT CTiglPoint GetCenter (TiglCoordinateSystem referenceCS=GLOBAL_COORDINATE_SYSTEM) const
 
TIGL_EXPORT double GetCircumference (TiglCoordinateSystem referenceCS=GLOBAL_COORDINATE_SYSTEM) const
 
virtual TIGL_EXPORT CTiglTransformation GetElementTransformation () const =0
 
virtual TIGL_EXPORT double GetHeight (TiglCoordinateSystem referenceCS=GLOBAL_COORDINATE_SYSTEM) const
 
virtual TIGL_EXPORT CTiglPoint GetNormal (TiglCoordinateSystem referenceCS=GLOBAL_COORDINATE_SYSTEM) const =0
 
TIGL_EXPORT CTiglPoint GetOrigin (TiglCoordinateSystem referenceCS=GLOBAL_COORDINATE_SYSTEM) const
 
virtual TIGL_EXPORT CTiglTransformation GetParentTransformation () const =0
 
virtual TIGL_EXPORT CCPACSPositioningsGetPositionings ()=0
 
virtual TIGL_EXPORT CTiglTransformation GetPositioningTransformation () const =0
 
virtual TIGL_EXPORT std::string GetProfileUID () const =0
 
TIGL_EXPORT double GetRotationAroundNormal (TiglCoordinateSystem referenceCS=GLOBAL_COORDINATE_SYSTEM) const
 
virtual TIGL_EXPORT std::string GetSectionElementUID () const =0
 
virtual TIGL_EXPORT CTiglTransformation GetSectionTransformation () const =0
 
virtual TIGL_EXPORT std::string GetSectionUID () const =0
 
virtual TIGL_EXPORT CTiglTransformation GetTotalTransformation (TiglCoordinateSystem referenceCS=GLOBAL_COORDINATE_SYSTEM) const
 
virtual TIGL_EXPORT double GetWidth (TiglCoordinateSystem referenceCS=GLOBAL_COORDINATE_SYSTEM) const
 
virtual TIGL_EXPORT TopoDS_Wire GetWire (TiglCoordinateSystem referenceCS=GLOBAL_COORDINATE_SYSTEM) const =0
 
virtual TIGL_EXPORT bool IsValid () const =0
 
virtual TIGL_EXPORT void ScaleCircumference (double scaleFactor, TiglCoordinateSystem referenceCS=GLOBAL_COORDINATE_SYSTEM)
 
virtual TIGL_EXPORT void ScaleUniformly (double scaleFactor, TiglCoordinateSystem referenceCS=GLOBAL_COORDINATE_SYSTEM)
 
virtual TIGL_EXPORT void SetArea (double newArea, TiglCoordinateSystem referenceCS=GLOBAL_COORDINATE_SYSTEM)
 
virtual TIGL_EXPORT void SetCenter (const CTiglPoint &newOrigin, TiglCoordinateSystem referenceCS=GLOBAL_COORDINATE_SYSTEM)
 
virtual TIGL_EXPORT void SetHeight (double newHeight, TiglCoordinateSystem referenceCS=GLOBAL_COORDINATE_SYSTEM)
 
TIGL_EXPORT void SetNormal (CTiglPoint newNormal, TiglCoordinateSystem referenceCS=GLOBAL_COORDINATE_SYSTEM)
 
virtual TIGL_EXPORT void SetOrigin (const CTiglPoint &newOrigin, TiglCoordinateSystem referenceCS=GLOBAL_COORDINATE_SYSTEM)
 
virtual TIGL_EXPORT void SetProfileUID (const std::string &newProfileUID)=0
 
TIGL_EXPORT void SetPSETransformations (const CTiglTransformation &newTransformation)
 
TIGL_EXPORT void SetPSETransformationsUseSimpleDecomposition (const CTiglTransformation &newTransformation, bool check=true)
 
TIGL_EXPORT void SetRotationAroundNormal (double angle, TiglCoordinateSystem referenceCS=GLOBAL_COORDINATE_SYSTEM)
 
TIGL_EXPORT void SetTotalTransformation (const CTiglTransformation &newTotalTransformation, TiglCoordinateSystem referenceCS=GLOBAL_COORDINATE_SYSTEM, bool useSimpleDecomposition=false)
 
virtual TIGL_EXPORT void SetWidth (double newWidth, TiglCoordinateSystem referenceCS=GLOBAL_COORDINATE_SYSTEM)
 

Protected Member Functions

CTiglPoint GetCurrentUnitZDirectionOfProfile (TiglCoordinateSystem referenceCS=GLOBAL_COORDINATE_SYSTEM) const
 
virtual CCPACSTransformationGetElementCCPACSTransformation ()=0
 
TIGL_EXPORT CTiglTransformation GetRotationToXZPlane (TiglCoordinateSystem referenceCS=GLOBAL_COORDINATE_SYSTEM) const
 
virtual CCPACSTransformationGetSectionCCPACSTransformation ()=0
 
virtual CTiglPoint GetStdDirForProfileUnitZ (TiglCoordinateSystem referenceCS=GLOBAL_COORDINATE_SYSTEM) const =0
 
virtual void InvalidateParent ()=0
 
void SetElementAndSectionScalingToNoneZero ()
 

Detailed Description

This class is wrapper class for SectionElement (FuselageSectionElement and WingSectionElement). It's goal is to simplify the access of all the transformations that are performed on a SectionElement. Furthermore, it contain functions to compute and set useful information about the element, such as: get/set the center of the profile, get/set the circumference of the profile

Member Function Documentation

◆ GetArea()

TIGL_EXPORT double tigl::CTiglSectionElement::GetArea ( TiglCoordinateSystem  referenceCS = GLOBAL_COORDINATE_SYSTEM) const

◆ GetCenter()

TIGL_EXPORT CTiglPoint tigl::CTiglSectionElement::GetCenter ( TiglCoordinateSystem  referenceCS = GLOBAL_COORDINATE_SYSTEM) const

◆ GetCircumference()

TIGL_EXPORT double tigl::CTiglSectionElement::GetCircumference ( TiglCoordinateSystem  referenceCS = GLOBAL_COORDINATE_SYSTEM) const

◆ GetCurrentUnitZDirectionOfProfile()

CTiglPoint tigl::CTiglSectionElement::GetCurrentUnitZDirectionOfProfile ( TiglCoordinateSystem  referenceCS = GLOBAL_COORDINATE_SYSTEM) const
protected

Return the direction of the profile z unit vector in the referenceCS coordinate;

Parameters
referenceCS
Returns

◆ GetElementCCPACSTransformation()

virtual CCPACSTransformation& tigl::CTiglSectionElement::GetElementCCPACSTransformation ( )
protectedpure virtual

◆ GetElementTransformation()

virtual TIGL_EXPORT CTiglTransformation tigl::CTiglSectionElement::GetElementTransformation ( ) const
pure virtual

◆ GetHeight()

virtual TIGL_EXPORT double tigl::CTiglSectionElement::GetHeight ( TiglCoordinateSystem  referenceCS = GLOBAL_COORDINATE_SYSTEM) const
virtual

◆ GetNormal()

virtual TIGL_EXPORT CTiglPoint tigl::CTiglSectionElement::GetNormal ( TiglCoordinateSystem  referenceCS = GLOBAL_COORDINATE_SYSTEM) const
pure virtual

◆ GetOrigin()

TIGL_EXPORT CTiglPoint tigl::CTiglSectionElement::GetOrigin ( TiglCoordinateSystem  referenceCS = GLOBAL_COORDINATE_SYSTEM) const

◆ GetParentTransformation()

virtual TIGL_EXPORT CTiglTransformation tigl::CTiglSectionElement::GetParentTransformation ( ) const
pure virtual

◆ GetPositionings()

virtual TIGL_EXPORT CCPACSPositionings& tigl::CTiglSectionElement::GetPositionings ( )
pure virtual

◆ GetPositioningTransformation()

virtual TIGL_EXPORT CTiglTransformation tigl::CTiglSectionElement::GetPositioningTransformation ( ) const
pure virtual

◆ GetProfileUID()

virtual TIGL_EXPORT std::string tigl::CTiglSectionElement::GetProfileUID ( ) const
pure virtual

◆ GetRotationAroundNormal()

TIGL_EXPORT double tigl::CTiglSectionElement::GetRotationAroundNormal ( TiglCoordinateSystem  referenceCS = GLOBAL_COORDINATE_SYSTEM) const

The normal angle is defined as the angle that bring the unit vector z of the profile form its conventional direction to its current direction. The angle is always counter-clockwise around the normal direction and the normal is taken at the center of the section. The conventional direction depends of of the profile type. If the profile type is fuselage, the standard direction is the the vector that line on the profile plane and end on the intersection of the line l, define by (x,0,1). If there is no intersection with the line l, we set the end of the vector by the intersection of the line l2, defined by (1,0,z) If the profile type is wing, the standard direction is the the vector that line on the profile plane and end on the intersection of the line l, define by (0,y,1). If there is no intersection with the line l, we set the end of the vector by the intersection of the line l2, defined by (0,1,z)

Parameters
referenceCS
Returns

◆ GetRotationToXZPlane()

TIGL_EXPORT CTiglTransformation tigl::CTiglSectionElement::GetRotationToXZPlane ( TiglCoordinateSystem  referenceCS = GLOBAL_COORDINATE_SYSTEM) const
protected

Get the rotation that move the profile to the XZ plane and the unit vector Z of the profile to (0,0,1).

Parameters
referenceCS
Returns
a CTiglTransformation that hold the rotation

◆ GetSectionCCPACSTransformation()

virtual CCPACSTransformation& tigl::CTiglSectionElement::GetSectionCCPACSTransformation ( )
protectedpure virtual

◆ GetSectionElementUID()

virtual TIGL_EXPORT std::string tigl::CTiglSectionElement::GetSectionElementUID ( ) const
pure virtual

◆ GetSectionTransformation()

virtual TIGL_EXPORT CTiglTransformation tigl::CTiglSectionElement::GetSectionTransformation ( ) const
pure virtual

◆ GetSectionUID()

virtual TIGL_EXPORT std::string tigl::CTiglSectionElement::GetSectionUID ( ) const
pure virtual

◆ GetStdDirForProfileUnitZ()

virtual CTiglPoint tigl::CTiglSectionElement::GetStdDirForProfileUnitZ ( TiglCoordinateSystem  referenceCS = GLOBAL_COORDINATE_SYSTEM) const
protectedpure virtual

Return conventional direction for the unit vector Z of the profile. The conventional direction depends of of the profile type. If the profile type is fuselage, the standard direction is the the vector that line on the profile plane and end on the intersection of the line l, define by (x,0,1). If there is no intersection with the line l, we set the end of the vector by the intersection of the line l2, defined by (1,0,z) If the profile type is wing, the standard direction is the the vector that line on the profile plane and end on the intersection of the line l, define by (0,y,1). If there is no intersection with the line l, we set the end of the vector by the intersection of the line l2, defined by (0,1,z)

Parameters
referenceCS
Returns

Implemented in tigl::CTiglWingSectionElement, and tigl::CTiglFuselageSectionElement.

◆ GetTotalTransformation()

virtual TIGL_EXPORT CTiglTransformation tigl::CTiglSectionElement::GetTotalTransformation ( TiglCoordinateSystem  referenceCS = GLOBAL_COORDINATE_SYSTEM) const
virtual

◆ GetWidth()

virtual TIGL_EXPORT double tigl::CTiglSectionElement::GetWidth ( TiglCoordinateSystem  referenceCS = GLOBAL_COORDINATE_SYSTEM) const
virtual

◆ GetWire()

virtual TIGL_EXPORT TopoDS_Wire tigl::CTiglSectionElement::GetWire ( TiglCoordinateSystem  referenceCS = GLOBAL_COORDINATE_SYSTEM) const
pure virtual

◆ InvalidateParent()

virtual void tigl::CTiglSectionElement::InvalidateParent ( )
protectedpure virtual

◆ IsValid()

virtual TIGL_EXPORT bool tigl::CTiglSectionElement::IsValid ( ) const
pure virtual

◆ ScaleCircumference()

virtual TIGL_EXPORT void tigl::CTiglSectionElement::ScaleCircumference ( double  scaleFactor,
TiglCoordinateSystem  referenceCS = GLOBAL_COORDINATE_SYSTEM 
)
virtual

◆ ScaleUniformly()

virtual TIGL_EXPORT void tigl::CTiglSectionElement::ScaleUniformly ( double  scaleFactor,
TiglCoordinateSystem  referenceCS = GLOBAL_COORDINATE_SYSTEM 
)
virtual

◆ SetArea()

virtual TIGL_EXPORT void tigl::CTiglSectionElement::SetArea ( double  newArea,
TiglCoordinateSystem  referenceCS = GLOBAL_COORDINATE_SYSTEM 
)
virtual

◆ SetCenter()

virtual TIGL_EXPORT void tigl::CTiglSectionElement::SetCenter ( const CTiglPoint newOrigin,
TiglCoordinateSystem  referenceCS = GLOBAL_COORDINATE_SYSTEM 
)
virtual

◆ SetElementAndSectionScalingToNoneZero()

void tigl::CTiglSectionElement::SetElementAndSectionScalingToNoneZero ( )
protected

If element or section transformation contains near zero scaling, we set this scaling to 1. Used to set the width or set the height when there is a zero scaling.

◆ SetHeight()

virtual TIGL_EXPORT void tigl::CTiglSectionElement::SetHeight ( double  newHeight,
TiglCoordinateSystem  referenceCS = GLOBAL_COORDINATE_SYSTEM 
)
virtual

◆ SetNormal()

TIGL_EXPORT void tigl::CTiglSectionElement::SetNormal ( CTiglPoint  newNormal,
TiglCoordinateSystem  referenceCS = GLOBAL_COORDINATE_SYSTEM 
)

Set the normal of the profile.

Parameters
referenceCS
Returns

◆ SetOrigin()

virtual TIGL_EXPORT void tigl::CTiglSectionElement::SetOrigin ( const CTiglPoint newOrigin,
TiglCoordinateSystem  referenceCS = GLOBAL_COORDINATE_SYSTEM 
)
virtual

◆ SetProfileUID()

virtual TIGL_EXPORT void tigl::CTiglSectionElement::SetProfileUID ( const std::string &  newProfileUID)
pure virtual

Set the profile UID used by this element.

Remarks
Some parameters of this element can change as the center or the width. Especially , if the profile is not defined in the same way as the old one (Take a look a the creator standard to define profile).
Parameters
newProfileUID

Implemented in tigl::CTiglWingSectionElement, and tigl::CTiglFuselageSectionElement.

◆ SetPSETransformations()

TIGL_EXPORT void tigl::CTiglSectionElement::SetPSETransformations ( const CTiglTransformation newTransformation)

Set the underlying CPACSTransformation of the positioning (P), section (S) and element (E) such that the multiplication of the three transformations give the input transformation! Remark, the strength of this method is that we are sure that the decomposition in CCPACSTransformations are exact!! We use the "DecomposeTRSRS" of the CTiglTransformation class and we set a part of the decomposition in the positioning, another part in the section CCPACSTransformation and another part in element CCPACSTransformation, thus the limitation of decomposing the matrix in translation, rotation and scaling is hacked. Remark, to apply this function we need to be sure that a section exist for each element, for the moment we assume it. But, in a near future, we can force this by creating a new section when is needed.

Parameters
newTransformation

◆ SetPSETransformationsUseSimpleDecomposition()

TIGL_EXPORT void tigl::CTiglSectionElement::SetPSETransformationsUseSimpleDecomposition ( const CTiglTransformation newTransformation,
bool  check = true 
)

Same principle as SetPSETransformaions but the a simple polar decomposition is used instead of the TRSRS decomposition. The pro is that the value stored in the CPACSFile is more human readable. The con is that some times the transformation can not be decomposed equally and some information are loosed.

Parameters
newTransformation
check,iftrue a warning is logged if the transformation can not be properly decomposed

◆ SetRotationAroundNormal()

TIGL_EXPORT void tigl::CTiglSectionElement::SetRotationAroundNormal ( double  angle,
TiglCoordinateSystem  referenceCS = GLOBAL_COORDINATE_SYSTEM 
)

Set the rotation around the normal.

Remarks
The normal is always computed on the center of the section.
See also
GetRotationAroundNormal to have a more precise definition of the angle.
Parameters
angle
referenceCS
Returns

◆ SetTotalTransformation()

TIGL_EXPORT void tigl::CTiglSectionElement::SetTotalTransformation ( const CTiglTransformation newTotalTransformation,
TiglCoordinateSystem  referenceCS = GLOBAL_COORDINATE_SYSTEM,
bool  useSimpleDecomposition = false 
)

◆ SetWidth()

virtual TIGL_EXPORT void tigl::CTiglSectionElement::SetWidth ( double  newWidth,
TiglCoordinateSystem  referenceCS = GLOBAL_COORDINATE_SYSTEM 
)
virtual

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