The CTiglShapeCache class acts as a storage for all kinds of intermediate shape results in order to improve speed of reoccurent calculations. More...
Namespaces | |
disable_adl | |
generated | |
WingCellInternal | |
winghelper | |
Functions | |
template<class T > | |
T | any_cast (const any &any) |
TopoDS_Shape | ApplyWingTransformation (const CCPACSWingCSStructure &structure, const TopoDS_Shape &shape) |
void | ApplyXRotationToUpVector (double angle, gp_Vec &upVec, const gp_Vec &ribDir) |
TIGL_EXPORT double | bernstein_poly (int i, int n, double x) |
Computes the values of the i-th bernstein polynome with degree n at position x. More... | |
TIGL_EXPORT double | bernstein_poly_deriv (int k, int i, int n, double x) |
Computes the values of the k-th derivative of the i-th bernstein polynome with degree n at position x. More... | |
TIGL_EXPORT int | binom (int n, int k) |
Computes the binomial coefficient (n,k) More... | |
TIGL_EXPORT math_Vector | cheb_approx (MathFunc1d &func, int N, double a, double b) |
Chebycheff approximation of a function f(x), x in [a,b]. More... | |
TIGL_EXPORT math_Matrix | cheb_to_monomial (int N) |
Computes the chebycheff to monomial transformation matrix. More... | |
void | CheckSparPositionOnReference (const std::string &sparPositionUID, const std::string &ribReference, const CCPACSWingCSStructure &structure) |
TIGL_EXPORT double | class_function (const double &N1, const double &N2, const double &x) |
defines the class function C(psi) = psi^N1 * (1-psi)^N2 for a CST air profile curve More... | |
TIGL_EXPORT double | class_function_deriv (const double &N1, const double &N2, const int &n, const double &x) |
defines the derivative of the class function C(psi) = psi^N1 * (1-psi)^N2 for a CST air profile curve More... | |
TIGL_EXPORT void | ComponentGetBoundingBox (const CCPACSConfiguration &config, const std::string &uid, CTiglPoint &min, CTiglPoint &max) |
Computes the bounding box coordinates of the specified component. More... | |
TIGL_EXPORT const CCPACSWingComponentSegment & | ComponentSegment (const CCPACSControlSurfaceBorderTrailingEdge &) |
const CCPACSWingComponentSegment & | ComponentSegment (const CCPACSControlSurfaceWingCutOut &) |
TIGL_EXPORT const CCPACSWingComponentSegment & | ComponentSegment (const CCPACSTrailingEdgeDevice &) |
TIGL_EXPORT CCPACSWingComponentSegment & | ComponentSegment (CCPACSTrailingEdgeDevice &) |
TIGL_EXPORT double | computeRibEtaValue (const CTiglWingStructureReference &wsr, const CCPACSWingRibsDefinition &rib, int ribIndex, double xsi) |
Computes the eta value of a rib at the passed xsi position. More... | |
TIGL_EXPORT EtaXsi | computeRibSparIntersectionEtaXsi (const CTiglWingStructureReference &wsr, const CCPACSWingRibsDefinition &rib, int ribIndex, const CCPACSWingSparSegment &spar) |
Computes the eta/xsi value of the intersection point of a rib and a spar. More... | |
TIGL_EXPORT double | computeSparXsiValue (const CTiglWingStructureReference &wsr, const CCPACSWingSparSegment &spar, double eta) |
Computes the xsi value of a spar at the passed eta position. More... | |
TIGL_EXPORT void | ConfigurationGetBoundingBox (const CCPACSConfiguration &config, CTiglPoint &min, CTiglPoint &max) |
Computes the bounding box of the whole aircraft. More... | |
PTiglCADExporter | createExporter (const std::string &filetype, const ExporterOptions &options=DefaultExporterOption()) |
TIGL_EXPORT double | cstcurve (const double &N1, const double &N2, const std::vector< double > &B, const double &T, const double &x) |
defines the CST air profile curve according to "CST" Universal Paramteric Geometry Representation Method with Applications to Supersonic Aircraft, B.M. Kulfan 2007 More... | |
TIGL_EXPORT double | cstcurve_deriv (const double &N1, const double &N2, const std::vector< double > &B, const double &T, const int &n, const double &x) |
defines the derivative of the CST air profile curve CST(psi)=C(psi)*S(psi) More... | |
TopoDS_Wire | CutFaceWithSpar (TopoDS_Shape &ribCutFace, const TopoDS_Shape &sparGeometry, double bboxSize, TopoDS_Wire &changedWire, const TopoDS_Wire &wire2, const gp_Vec &upVec) |
TopoDS_Shape | CutShapeWithSpars (const TopoDS_Shape &shape, const CCPACSWingCSStructure &structure) |
TIGL_EXPORT void | DiagonalizeMatrixByJacobi (const tiglMatrix &M, tiglMatrix &D, tiglMatrix &V) |
Diagonalize the given matrix using the jacobi method. More... | |
TIGL_EXPORT double | distance_point_from_line (const CTiglPoint &P, const CTiglPoint &X0, const CTiglPoint &DX) |
Calculates the distance of a point P from the line defined by a point X0 and direction DX. More... | |
TIGL_EXPORT ValueWithDerivative | distancePlanePoint_deriv (gp_Dir planeNormal, gp_Vec planeNormal_deriv, gp_Pnt pointOnPlane, gp_Vec pointOnPlane_deriv, gp_Pnt p) |
Computes the distance of a point to a plane All parameters _deriv are forward differences to compute gradients. More... | |
void | dumpShape (const TopoDS_Shape &shape, const std::string &outputDir, const std::string &filename, int counter=-1) |
std::string | ECPACSTranslationTypeToString (const ECPACSTranslationType &value) |
TIGL_EXPORT int | factorial (int n) |
Computes the factorial n! in a non recursive fashion. More... | |
TIGL_EXPORT CTiglPoint | FindOrthogonalVectorToDirection (CTiglPoint direction) |
template<class ForwardIterator , class UnaryPredicate > | |
void | follow_sort (ForwardIterator begin, ForwardIterator end, UnaryPredicate follows) |
template<class to_value > | |
void | from_string (const std::string &s, to_value &t) |
template<> | |
void | from_string< bool > (const std::string &s, bool &t) |
template<> | |
void | from_string< FaceNameSettings > (const std::string &s, FaceNameSettings &t) |
template<> | |
void | from_string< ShapeGroupMode > (const std::string &s, ShapeGroupMode &t) |
double | GetBoundingBoxSize (const TopoDS_Shape &shape) |
ExporterOptions & | getExportConfig (const std::string &filetype) |
TIGL_EXPORT std::string | getLogLevelString (TiglLogLevel level) |
gp_Pnt | GetReferencePoint (const CCPACSWingCSStructure &structure, const std::string &reference, double currentEta) |
gp_Pnt | GetRibDefinitionPoint (const std::string &definition, const TopoDS_Face &ribCutFace, const CCPACSWingCSStructure &structure) |
double | GetRibReferenceLength (const std::string &reference, const CCPACSWingCSStructure &structure) |
TIGL_EXPORT gp_Pnt | getSectionElementChordlinePoint (const CCPACSWingComponentSegment &cs, const std::string §ionElementUID, double xsi) |
Returns the chordline point of the section element at the passed xsi value. More... | |
std::vector< tigl::CCPACSWingSegment * > | getSortedSegments (const CCPACSWingComponentSegment &cs) |
gp_Pnt | GetSparMidplanePoint (const CCPACSWingSparPosition &sparPos, const CCPACSWingCSStructure &structure) |
gp_Vec | GetUpVectorWithoutXRotation (const std::string &ribReference, double currentEta, const gp_Pnt &startPnt, bool onSpar, const CCPACSWingCSStructure &structure) |
TIGL_EXPORT double | Interpolate (const std::vector< double > &xdata, const std::vector< double > &ydata, double x) |
TIGL_EXPORT void | InterpolateXsi (const std::string &refUID1, const EtaXsi &etaXsi1, const std::string &refUID2, const EtaXsi &etaXsi2, const std::string &targetUID, double eta, const CTiglUIDManager &uidMgr, double &xsi, double &errorDistance) |
Interpolates the xsi coordinate given an eta coordinate of a target segment or target component segment and a straight line defined by two points. More... | |
TIGL_EXPORT std::vector< CurveIntersectionResult > | IntersectBSplines (const Handle(Geom_BSplineCurve) curve1, const Handle(Geom_BSplineCurve) curve2, double tolerance=1e-5) |
Computes all intersections of 2 B-Splines curves. More... | |
TIGL_EXPORT bool | isNear (double a, double b, double epsilon=Precision::Confusion()) |
bool | IsOuterSparPointInSection (const std::string &sparUid, double eta, const CCPACSWingCSStructure &structure) |
TIGL_EXPORT bool | IsRotationMatrix (const tiglMatrix &R) |
Return true if the matrix is a proper rotation. More... | |
template<typename T , typename... Args> | |
auto | make_unique (Args &&... args) -> std::unique_ptr< T > |
TIGL_EXPORT math_Matrix | monimial_to_bezier (int N) |
Monomial to Bernstein conversion matrix. More... | |
TIGL_EXPORT void | normalize (gp_Vec &v, gp_Vec &v_deriv) |
TIGL_EXPORT CTiglTransformation | operator * (const CTiglTransformation &a, const CTiglTransformation &b) |
TIGL_EXPORT CTiglPoint | operator * (const CTiglTransformation &m, const CTiglPoint &p) |
TIGL_EXPORT CTiglTransformation | operator * (double s, const CTiglTransformation &a) |
TIGL_EXPORT CTiglTransformation | operator+ (const CTiglTransformation &a, const CTiglTransformation &b) |
TIGL_EXPORT bool | PointIsInfrontSparGeometry (gp_Dir normal, gp_Pnt point, TopoDS_Shape sparGeometry) |
TIGL_EXPORT void | PolarDecomposition (tiglMatrix const &A, tiglMatrix &U, tiglMatrix &P) |
A function that calculates the polar decomposition of a 3x3 matrix A. More... | |
TIGL_EXPORT double | pow_deriv (double x, double k, int n) |
Computes the nth derivative of x^k. More... | |
TIGL_EXPORT double | pow_int (double x, int n) |
Computes the power x^n. More... | |
TIGL_EXPORT double | quadrilateral_area (const CTiglPoint &A, const CTiglPoint &B, const CTiglPoint &C, const CTiglPoint &D) |
Calculated the area of a quadrilateral defined by the 4 corner points A,B,C,D. More... | |
TIGL_EXPORT tiglMatrix | readMatrix (const std::string &filename) |
template<class ForwardIterator > | |
void | rotate_right (ForwardIterator begin, ForwardIterator last) |
TIGL_EXPORT CTiglPoint | RotMatrixToIntrinsicXYZVector (const tiglMatrix &R) |
Return the intrinsic x y' z'' rotation vector of the rotation matrix. More... | |
TIGL_EXPORT double | shape_function (const std::vector< double > &B, const double &x) |
defines the shape function S(psi)=sum_i=1^N B_i * P_i^n(psi) for a CST air profile curve. The P_i^n are the Bernstein polynomials. More... | |
TIGL_EXPORT double | shape_function_deriv (const std::vector< double > &B, const int &n, const double &x) |
defines the derivative of the shape function S(psi)=sum_i=1^N B_i * P_i^n(psi) for a CST air profile curve. The P_i^n are the Bernstein polynomials. More... | |
TIGL_EXPORT double | SnapAngle (double degrees, double epsilon=Precision::Confusion()) |
TIGL_EXPORT CTiglPoint | SnapRotation (CTiglPoint rotation, double epsilon=Precision::Confusion()) |
TIGL_EXPORT double * | SnapRotation (double rotation[3], double epsilon=Precision::Confusion()) |
TIGL_EXPORT double | SnapUnitInterval (double number, double epsilon=Precision::Confusion()) |
TIGL_EXPORT CTiglPoint | SnapUnitInterval (CTiglPoint scaling, double epsilon=Precision::Confusion()) |
TIGL_EXPORT double * | SnapUnitInterval (double scaling[3], double epsilon=Precision::Confusion()) |
TIGL_EXPORT double | SnapValue (double number, double snapValue, double delta=Precision::Confusion()) |
std::vector< std::string > | split_string (const std::string &mystring, char delimiter) |
template<typename T > | |
std::string | std_to_string (T value) |
TIGL_EXPORT std::vector< double > | stringToDoubleVec (const std::string &s) |
ECPACSTranslationType | stringToECPACSTranslationType (const std::string &value) |
TiglFarFieldType | stringToTiglFarFieldType (const std::string &value) |
TiglRotorHubType | stringToTiglRotorHubType (const std::string &value) |
TiglSymmetryAxis | stringToTiglSymmetryAxis (const std::string &value) |
TIGL_EXPORT void | SVD (tiglMatrix const &A, tiglMatrix &U, tiglMatrix &S, tiglMatrix &V) |
std::string | TiglFarFieldTypeToString (const TiglFarFieldType &value) |
std::string | TiglRotorHubTypeToString (const TiglRotorHubType &value) |
std::string | TiglSymmetryAxisToString (const TiglSymmetryAxis &value) |
std::string | to_lower (const std::string &str) |
std::string | to_upper (const std::string &str) |
TIGL_EXPORT double | transformEtaToCSOrTed (const CCPACSEtaIsoLine &eta, const CTiglUIDManager &uidMgr) |
TIGL_EXPORT double | transformEtaToCSOrTed (double eta, const std::string &referenceUid, const CTiglUIDManager &uidMgr) |
TIGL_EXPORT EtaXsi | transformEtaXsiToCSOrTed (EtaXsi etaXsi, const std::string &referenceUid, const CTiglUIDManager &uidMgr) |
TIGL_EXPORT TopoDS_Shape | transformFuselageProfileGeometry (const CTiglTransformation &fuselTransform, const CTiglFuselageConnection &connection, const TopoDS_Shape &shape) |
TIGL_EXPORT TopoDS_Shape | transformWingProfileGeometry (const CTiglTransformation &wingTransform, const CTiglWingConnection &connection, const TopoDS_Shape &wire) |
Transforms a shape in profile coordinates to world coordinates. More... | |
TIGL_EXPORT double | transformXsiToCSOrTed (const CCPACSXsiIsoLine &xsi, const CTiglUIDManager &uidMgr) |
TIGL_EXPORT double | transformXsiToCSOrTed (double xsi, const std::string &referenceUid, const CTiglUIDManager &uidMgr) |
TIGL_EXPORT std::string | typeName (const std::type_info &ti) |
template<typename T > | |
std::string | typeName () |
template<typename FordwardIter > | |
std::string | vecToString (FordwardIter begin, FordwardIter end, const char sep) |
TIGL_EXPORT int | WingRibPointGetRibNumber (const generated::CPACSWingRibPoint &) |
TIGL_EXPORT std::string | WingSparPosGetElementUID (const CCPACSWingSparPosition &) |
If the spar position is on a section element, the element uid is returned. More... | |
TIGL_EXPORT void | writeMatrix (const tiglMatrix &x, const std::string &filename) |
Stores the field to a file in binary form Note: this is not portable. The result will be different on varying platforms. More... | |
Variables | |
static const CreateIfNotExistsTag | CreateIfNotExists = CreateIfNotExistsTag() |
The CTiglShapeCache class acts as a storage for all kinds of intermediate shape results in order to improve speed of reoccurent calculations.
The registry allows classes to enrigster class functions, that should be run automatically after loading TiGL. This mechanism can be used e.g. to register classes at class factories.
In order to make use of the mechanism, implement an AUTOSTART function inside the classes cpp file i.e.:
MyClass.cpp:
AUTORUN(MyClass) { // your code here return true; }
Then, this autorun function has to be registered inside the registry. This is done by placing REGISTER_TYPE(MyClass) inside CTiglTypeRegistry.cpp.
using tigl::CCPACSAlignmentCrossBeam = typedef generated::CPACSAlignmentCrossBeam |
using tigl::CCPACSAlignmentStringFrame = typedef generated::CPACSAlignmentStringFrame |
typedef generated::CPACSAxle tigl::CCPACSAxle |
using tigl::CCPACSBeamCrossSection = typedef generated::CPACSBeamCrossSection |
using tigl::CCPACSBeamStiffness = typedef generated::CPACSBeamStiffness |
using tigl::CCPACSBoundingElementUIDs = typedef generated::CPACSBoundingElementUIDs |
typedef generated::CPACSCap tigl::CCPACSCap |
using tigl::CCPACSCompartmentGeometry = typedef generated::CPACSCompartmentGeometry |
using tigl::CCPACSContourReference = typedef generated::CPACSContourReference |
using tigl::CCPACSCutOutControlPoint = typedef generated::CPACSCutOutControlPoint |
using tigl::CCPACSDoubleConstraintBase = typedef generated::CPACSDoubleConstraintBase |
using tigl::CCPACSEnvironment = typedef generated::CPACSEnvironment |
using tigl::CCPACSEtaXsiRelHeightPoint = typedef generated::CPACSEtaXsiRelHeightPoint |
typedef generated::CPACSLandingGearExtensionFunctionStep tigl::CCPACSLandingGearExtensionFunctionStep |
using tigl::CCPACSLeadingEdgeHollow = typedef generated::CPACSLeadingEdgeHollow |
using tigl::CCPACSLeadingEdgeShape = typedef generated::CPACSLeadingEdgeShape |
using tigl::CCPACSLinkToFile = typedef generated::CPACSLinkToFile |
using tigl::CCPACSMainActuator = typedef generated::CPACSMainActuator |
using tigl::CCPACSMassInertia = typedef generated::CPACSMassInertia |
typedef generated::CPACSMaterialDefinitionForProfileBased tigl::CCPACSMaterialDefinitionForProfileBased |
typedef generated::CPACSMaterialDefinitionForProfileBasedPoint tigl::CCPACSMaterialDefinitionForProfileBasedPoint |
using tigl::CCPACSOuterCutOutProfile = typedef generated::CPACSOuterCutOutProfile |
using tigl::CCPACSPointPerformanceRequirements = typedef generated::CPACSPointPerformanceRequirements |
using tigl::CCPACSPointX = typedef generated::CPACSPointX |
using tigl::CCPACSPointXYZ = typedef generated::CPACSPointXYZ |
using tigl::CCPACSPointXZ = typedef generated::CPACSPointXZ |
using tigl::CCPACSPointZ = typedef generated::CPACSPointZ |
using tigl::CCPACSPosExcl0DoubleBase = typedef generated::CPACSPosExcl0DoubleBase |
using tigl::CCPACSPosExcl0IntBase = typedef generated::CPACSPosExcl0IntBase |
using tigl::CCPACSSheetPoints = typedef generated::CPACSSheetPoints |
using tigl::CCPACSStrut = typedef generated::CPACSStrut |
using tigl::CCPACSStrutProperties = typedef generated::CPACSStrutProperties |
using tigl::CCPACSUIDSequence = typedef generated::CPACSUIDSequence |
using tigl::CCPACSWallPositionUIDs = typedef generated::CPACSWallPositionUIDs |
typedef generated::CPACSWeb tigl::CCPACSWeb |
using tigl::CCPACSWheel = typedef generated::CPACSWheel |
using tigl::CCPACSWingRibPoint = typedef generated::CPACSWingRibPoint |
typedef PTiglWingProfileAlgo(* tigl::CreateProfileAlgoCallback) (const CCPACSWingProfile &profile, const std::string &cpacsPath) |
using tigl::ECPACSAtmosphericModel = typedef generated::CPACSAtmosphericModel |
using tigl::ECPACSCargoContainerElement_contour = typedef generated::CPACSCargoContainerElement_contour |
using tigl::ECPACSContinuity = typedef generated::CPACSContinuity |
using tigl::ECPACSContinuityAtP = typedef generated::CPACSContinuityAtP |
using tigl::ECPACSControlSurfaceTrackType_trackSubType = typedef generated::CPACSControlSurfaceTrackType_trackSubType |
using tigl::ECPACSControlSurfaceTrackType_trackType = typedef generated::CPACSControlSurfaceTrackType_trackType |
using tigl::ECPACSDoorAssemblyPosition_doorType = typedef generated::CPACSDoorAssemblyPosition_doorType |
using tigl::ECPACSGenericSystem_geometricBaseType = typedef generated::CPACSGenericSystem_geometricBaseType |
using tigl::ECPACSInterpolation = typedef generated::CPACSInterpolation |
using tigl::ECPACSLandingGearExtensionFunctionStep_stepType = typedef generated::CPACSLandingGearExtensionFunctionStep_stepType |
using tigl::ECPACSLandingGearSteeringFunctionStep_stepType = typedef generated::CPACSLandingGearSteeringFunctionStep_stepType |
using tigl::ECPACSLateralCap_placement = typedef generated::CPACSLateralCap_placement |
using tigl::ECPACSMaterialDefinitionForProfileBased_standardProfileSheetID = typedef generated::CPACSMaterialDefinitionForProfileBased_standardProfileSheetID |
using tigl::ECPACSPointPerformanceDefinition_typeOfPointPerformance = typedef generated::CPACSPointPerformanceDefinition_typeOfPointPerformance |
using tigl::ECPACSProfileBasedStructuralElement_standardProfileType = typedef generated::CPACSProfileBasedStructuralElement_standardProfileType |
using tigl::ECPACSProfileGeometry2DType_symmetry = typedef generated::CPACSProfileGeometry2DType_symmetry |
using tigl::ECPACSRelationalOperator = typedef generated::CPACSRelationalOperator |
using tigl::ECPACSRibCrossingBehaviour = typedef generated::CPACSRibCrossingBehaviour |
using tigl::ECPACSRotor_type = typedef generated::CPACSRotor_type |
using tigl::ECPACSRotorHubHinge_type = typedef generated::CPACSRotorHubHinge_type |
using tigl::ECPACSTrackStrut_name = typedef generated::CPACSTrackStrut_name |
typedef std::vector<const CCPACSMaterialDefinition*> tigl::MaterialList |
using tigl::ParamMap = typedef std::map<unsigned int, double> |
typedef class CSharedPtr< CTiglPoint > tigl::PCTiglPoint |
typedef CSharedPtr<CTiglFusePlane> tigl::PTiglFusePlane |
typedef class CSharedPtr< ITiglLogger > tigl::PTiglLogger |
typedef std::map<const std::string, CTiglRelativelyPositionedComponent*> tigl::RelativeComponentContainerType |
typedef std::vector<CCPACSWingSegment*> tigl::SegmentList |
typedef std::map<const std::string, ITiglGeometricComponent*> tigl::ShapeContainerType |
typedef math_Matrix tigl::tiglMatrix |
typedef math_Vector tigl::tiglVector |
using tigl::unique_ptr = typedef std::unique_ptr<T> |
|
strong |
enum tigl::SegmentType |
enum tigl::ShapeGroupMode |
|
strong |
enum tigl::TiglRotorType |
T tigl::any_cast | ( | const any & | any | ) |
TopoDS_Shape tigl::ApplyWingTransformation | ( | const CCPACSWingCSStructure & | structure, |
const TopoDS_Shape & | shape | ||
) |
void tigl::ApplyXRotationToUpVector | ( | double | angle, |
gp_Vec & | upVec, | ||
const gp_Vec & | ribDir | ||
) |
TIGL_EXPORT double tigl::bernstein_poly | ( | int | i, |
int | n, | ||
double | x | ||
) |
Computes the values of the i-th bernstein polynome with degree n at position x.
i | Number of the polynome with 0 <= i <= n |
n | Degree of the polynome, n > 0 |
x | Value the polynom should be evaluated at (normally 0 <= x <= 1, but not necessarily) |
TIGL_EXPORT double tigl::bernstein_poly_deriv | ( | int | k, |
int | i, | ||
int | n, | ||
double | x | ||
) |
Computes the values of the k-th derivative of the i-th bernstein polynome with degree n at position x.
k | Order of derivative |
i | Number of the polynome with 0 <= i <= n |
n | Degree of the polynome, n > 0 |
x | Value the polynom should be evaluated at (normally 0 <= x <= 1, but not necessarily) |
TIGL_EXPORT int tigl::binom | ( | int | n, |
int | k | ||
) |
Computes the binomial coefficient (n,k)
TIGL_EXPORT math_Vector tigl::cheb_approx | ( | MathFunc1d & | func, |
int | N, | ||
double | a, | ||
double | b | ||
) |
Chebycheff approximation of a function f(x), x in [a,b].
CTiglError | (TIGL_MATH_ERROR) if N <= 0 |
func | The 1D function to approximate |
N | Number of function evaluations ( = polynomial degree + 1) |
a | First parameter of the function to approximate |
b | Last parameter of the function to approximate |
TIGL_EXPORT math_Matrix tigl::cheb_to_monomial | ( | int | N | ) |
Computes the chebycheff to monomial transformation matrix.
Use this NxN matrix to translate chebychev coefficients into monomial coefficients of polynomes.
N | Dimension of the matrix |
void tigl::CheckSparPositionOnReference | ( | const std::string & | sparPositionUID, |
const std::string & | ribReference, | ||
const CCPACSWingCSStructure & | structure | ||
) |
TIGL_EXPORT double tigl::class_function | ( | const double & | N1, |
const double & | N2, | ||
const double & | x | ||
) |
defines the class function C(psi) = psi^N1 * (1-psi)^N2 for a CST air profile curve
TIGL_EXPORT double tigl::class_function_deriv | ( | const double & | N1, |
const double & | N2, | ||
const int & | n, | ||
const double & | x | ||
) |
defines the derivative of the class function C(psi) = psi^N1 * (1-psi)^N2 for a CST air profile curve
TIGL_EXPORT void tigl::ComponentGetBoundingBox | ( | const CCPACSConfiguration & | config, |
const std::string & | uid, | ||
CTiglPoint & | min, | ||
CTiglPoint & | max | ||
) |
Computes the bounding box coordinates of the specified component.
TIGL_EXPORT const CCPACSWingComponentSegment& tigl::ComponentSegment | ( | const CCPACSControlSurfaceBorderTrailingEdge & | ) |
const CCPACSWingComponentSegment& tigl::ComponentSegment | ( | const CCPACSControlSurfaceWingCutOut & | ) |
TIGL_EXPORT const CCPACSWingComponentSegment& tigl::ComponentSegment | ( | const CCPACSTrailingEdgeDevice & | ) |
TIGL_EXPORT CCPACSWingComponentSegment& tigl::ComponentSegment | ( | CCPACSTrailingEdgeDevice & | ) |
TIGL_EXPORT double tigl::computeRibEtaValue | ( | const CTiglWingStructureReference & | wsr, |
const CCPACSWingRibsDefinition & | rib, | ||
int | ribIndex, | ||
double | xsi | ||
) |
Computes the eta value of a rib at the passed xsi position.
TIGL_EXPORT EtaXsi tigl::computeRibSparIntersectionEtaXsi | ( | const CTiglWingStructureReference & | wsr, |
const CCPACSWingRibsDefinition & | rib, | ||
int | ribIndex, | ||
const CCPACSWingSparSegment & | spar | ||
) |
Computes the eta/xsi value of the intersection point of a rib and a spar.
TIGL_EXPORT double tigl::computeSparXsiValue | ( | const CTiglWingStructureReference & | wsr, |
const CCPACSWingSparSegment & | spar, | ||
double | eta | ||
) |
Computes the xsi value of a spar at the passed eta position.
TIGL_EXPORT void tigl::ConfigurationGetBoundingBox | ( | const CCPACSConfiguration & | config, |
CTiglPoint & | min, | ||
CTiglPoint & | max | ||
) |
Computes the bounding box of the whole aircraft.
|
inline |
TIGL_EXPORT double tigl::cstcurve | ( | const double & | N1, |
const double & | N2, | ||
const std::vector< double > & | B, | ||
const double & | T, | ||
const double & | x | ||
) |
defines the CST air profile curve according to "CST" Universal Paramteric Geometry Representation Method with Applications to Supersonic Aircraft, B.M. Kulfan 2007
CST(psi)=C(psi)*S(psi)
N1, N2 are the parameters of the class function C(psi) = psi^N1 * (1-psi)^N2 B is the vector of coefficients for the bernstein polynomials P_i^n(psi) T is the trailing edge thickness inside the shape function S(psi)=sum_i=1^N B_i * p_i^n(psi) The order of the Bernstein polynomials N is defined by the length of the B vector
TIGL_EXPORT double tigl::cstcurve_deriv | ( | const double & | N1, |
const double & | N2, | ||
const std::vector< double > & | B, | ||
const double & | T, | ||
const int & | n, | ||
const double & | x | ||
) |
defines the derivative of the CST air profile curve CST(psi)=C(psi)*S(psi)
TopoDS_Wire tigl::CutFaceWithSpar | ( | TopoDS_Shape & | ribCutFace, |
const TopoDS_Shape & | sparGeometry, | ||
double | bboxSize, | ||
TopoDS_Wire & | changedWire, | ||
const TopoDS_Wire & | wire2, | ||
const gp_Vec & | upVec | ||
) |
TopoDS_Shape tigl::CutShapeWithSpars | ( | const TopoDS_Shape & | shape, |
const CCPACSWingCSStructure & | structure | ||
) |
TIGL_EXPORT void tigl::DiagonalizeMatrixByJacobi | ( | const tiglMatrix & | M, |
tiglMatrix & | D, | ||
tiglMatrix & | V | ||
) |
Diagonalize the given matrix using the jacobi method.
The symmetric input matrix, M, is decomposed into V,an improper rotation, and D, a diagonal matrix. We have M = V^T*D*V.Transposed The value of the diagonal D is the eigenvalues of M and the columns of V are the the normalized eigenvectors
M | the 3X3 matrix to decompose |
D | the 3x3 diagonal result matrix |
V | the 3X3 improper rotation result matrix |
TIGL_EXPORT double tigl::distance_point_from_line | ( | const CTiglPoint & | P, |
const CTiglPoint & | X0, | ||
const CTiglPoint & | DX | ||
) |
Calculates the distance of a point P from the line defined by a point X0 and direction DX.
TIGL_EXPORT ValueWithDerivative tigl::distancePlanePoint_deriv | ( | gp_Dir | planeNormal, |
gp_Vec | planeNormal_deriv, | ||
gp_Pnt | pointOnPlane, | ||
gp_Vec | pointOnPlane_deriv, | ||
gp_Pnt | p | ||
) |
Computes the distance of a point to a plane All parameters _deriv are forward differences to compute gradients.
planeNormal | Normal of the plane |
planeNormal_deriv | |
pointOnPlane | Point on the plane |
pointOnPlane_deriv | |
p | A point, which distance to the plane has to be computed |
void tigl::dumpShape | ( | const TopoDS_Shape & | shape, |
const std::string & | outputDir, | ||
const std::string & | filename, | ||
int | counter = -1 |
||
) |
|
inline |
TIGL_EXPORT int tigl::factorial | ( | int | n | ) |
Computes the factorial n! in a non recursive fashion.
TIGL_EXPORT CTiglPoint tigl::FindOrthogonalVectorToDirection | ( | CTiglPoint | direction | ) |
Return a vector orthogonal to the direction
direction |
void tigl::follow_sort | ( | ForwardIterator | begin, |
ForwardIterator | end, | ||
UnaryPredicate | follows | ||
) |
Sorts an array that contains a continuous number of entries, possible unordered
void tigl::from_string | ( | const std::string & | s, |
to_value & | t | ||
) |
|
inline |
|
inline |
|
inline |
double tigl::GetBoundingBoxSize | ( | const TopoDS_Shape & | shape | ) |
|
inline |
TIGL_EXPORT std::string tigl::getLogLevelString | ( | TiglLogLevel | level | ) |
gp_Pnt tigl::GetReferencePoint | ( | const CCPACSWingCSStructure & | structure, |
const std::string & | reference, | ||
double | currentEta | ||
) |
gp_Pnt tigl::GetRibDefinitionPoint | ( | const std::string & | definition, |
const TopoDS_Face & | ribCutFace, | ||
const CCPACSWingCSStructure & | structure | ||
) |
double tigl::GetRibReferenceLength | ( | const std::string & | reference, |
const CCPACSWingCSStructure & | structure | ||
) |
TIGL_EXPORT gp_Pnt tigl::getSectionElementChordlinePoint | ( | const CCPACSWingComponentSegment & | cs, |
const std::string & | sectionElementUID, | ||
double | xsi | ||
) |
Returns the chordline point of the section element at the passed xsi value.
|
inline |
gp_Pnt tigl::GetSparMidplanePoint | ( | const CCPACSWingSparPosition & | sparPos, |
const CCPACSWingCSStructure & | structure | ||
) |
gp_Vec tigl::GetUpVectorWithoutXRotation | ( | const std::string & | ribReference, |
double | currentEta, | ||
const gp_Pnt & | startPnt, | ||
bool | onSpar, | ||
const CCPACSWingCSStructure & | structure | ||
) |
TIGL_EXPORT double tigl::Interpolate | ( | const std::vector< double > & | xdata, |
const std::vector< double > & | ydata, | ||
double | x | ||
) |
Linear interpolation in of xdata<->ydata array at position x
TIGL_EXPORT void tigl::InterpolateXsi | ( | const std::string & | refUID1, |
const EtaXsi & | etaXsi1, | ||
const std::string & | refUID2, | ||
const EtaXsi & | etaXsi2, | ||
const std::string & | targetUID, | ||
double | eta, | ||
const CTiglUIDManager & | uidMgr, | ||
double & | xsi, | ||
double & | errorDistance | ||
) |
Interpolates the xsi coordinate given an eta coordinate of a target segment or target component segment and a straight line defined by two points.
All segments and component segments have to belong to one and the same wing.
refUID1 | Reference UID of the component referring to the first point | |
etaXsi1 | Eta / xsi coordinates of the first point | |
refUID2 | Reference UID of the component referring to the first point | |
etaXsi2 | Eta / xsi coordinates of the second point | |
targetUID | Reference UID of the component referring to the target point | |
eta | Eta coordinate to interpolate | |
uidMgr | ||
[out] | xsi | |
[out] | errorDistance |
TIGL_EXPORT std::vector<CurveIntersectionResult> tigl::IntersectBSplines | ( | const Handle(Geom_BSplineCurve) | curve1, |
const Handle(Geom_BSplineCurve) | curve2, | ||
double | tolerance = 1e-5 |
||
) |
Computes all intersections of 2 B-Splines curves.
An intersection is counted, whenever the two curves come closer than tolerance. If a whole interval is closes than tolerance, the nearest point in the interval is searched.
The function divides the input curves and checks, if their bounding boxes (convex hulls) intersect each other. If so, this process is repeated until the curve segment is almost a line segment. This result is used to locally optimize into a true minimum.
TIGL_EXPORT bool tigl::isNear | ( | double | a, |
double | b, | ||
double | epsilon = Precision::Confusion() |
||
) |
Return true if the value of a is similar to b
a | |
b | |
epsilon |
bool tigl::IsOuterSparPointInSection | ( | const std::string & | sparUid, |
double | eta, | ||
const CCPACSWingCSStructure & | structure | ||
) |
TIGL_EXPORT bool tigl::IsRotationMatrix | ( | const tiglMatrix & | R | ) |
Return true if the matrix is a proper rotation.
Check if the the matrix is orthogonal and if its determinant is 1.
R,the | 3x3 matrix to check |
auto tigl::make_unique | ( | Args &&... | args | ) | -> std::unique_ptr<T> |
TIGL_EXPORT math_Matrix tigl::monimial_to_bezier | ( | int | N | ) |
Monomial to Bernstein conversion matrix.
Use this NxN matrix to translate monimial coefficients into bezier coefficients (control points).
TIGL_EXPORT void tigl::normalize | ( | gp_Vec & | v, |
gp_Vec & | v_deriv | ||
) |
TIGL_EXPORT CTiglTransformation tigl::operator * | ( | const CTiglTransformation & | a, |
const CTiglTransformation & | b | ||
) |
TIGL_EXPORT CTiglPoint tigl::operator * | ( | const CTiglTransformation & | m, |
const CTiglPoint & | p | ||
) |
TIGL_EXPORT CTiglTransformation tigl::operator * | ( | double | s, |
const CTiglTransformation & | a | ||
) |
TIGL_EXPORT CTiglTransformation tigl::operator+ | ( | const CTiglTransformation & | a, |
const CTiglTransformation & | b | ||
) |
TIGL_EXPORT bool tigl::PointIsInfrontSparGeometry | ( | gp_Dir | normal, |
gp_Pnt | point, | ||
TopoDS_Shape | sparGeometry | ||
) |
Tests whether the test point is in front of the spar segment geometry or behind.
The reference axis is given in normal.
TIGL_EXPORT void tigl::PolarDecomposition | ( | tiglMatrix const & | A, |
tiglMatrix & | U, | ||
tiglMatrix & | P | ||
) |
A function that calculates the polar decomposition of a 3x3 matrix A.
PolarDecomposition(A,U,P) calculates the polar decomposition U,P of the input matrix A, such that A = U x P, where U is a unitary matrix and P is a positive semi-definite Hermitian matrix. U can be interpreted as a rotation and P as a spatial scaling, possibly including off-diaogonal shearing terms
A | input matrix |
U | unitary matrix U |
P | hermitian matrix P |
TIGL_EXPORT double tigl::pow_deriv | ( | double | x, |
double | k, | ||
int | n | ||
) |
Computes the nth derivative of x^k.
TIGL_EXPORT double tigl::pow_int | ( | double | x, |
int | n | ||
) |
Computes the power x^n.
x | Basis |
n | Exponent |
TIGL_EXPORT double tigl::quadrilateral_area | ( | const CTiglPoint & | A, |
const CTiglPoint & | B, | ||
const CTiglPoint & | C, | ||
const CTiglPoint & | D | ||
) |
Calculated the area of a quadrilateral defined by the 4 corner points A,B,C,D.
TIGL_EXPORT tiglMatrix tigl::readMatrix | ( | const std::string & | filename | ) |
void tigl::rotate_right | ( | ForwardIterator | begin, |
ForwardIterator | last | ||
) |
TIGL_EXPORT CTiglPoint tigl::RotMatrixToIntrinsicXYZVector | ( | const tiglMatrix & | R | ) |
Return the intrinsic x y' z'' rotation vector of the rotation matrix.
R | the 3x3 rotation matrix |
TIGL_EXPORT double tigl::shape_function | ( | const std::vector< double > & | B, |
const double & | x | ||
) |
defines the shape function S(psi)=sum_i=1^N B_i * P_i^n(psi) for a CST air profile curve. The P_i^n are the Bernstein polynomials.
TIGL_EXPORT double tigl::shape_function_deriv | ( | const std::vector< double > & | B, |
const int & | n, | ||
const double & | x | ||
) |
defines the derivative of the shape function S(psi)=sum_i=1^N B_i * P_i^n(psi) for a CST air profile curve. The P_i^n are the Bernstein polynomials.
TIGL_EXPORT double tigl::SnapAngle | ( | double | degrees, |
double | epsilon = Precision::Confusion() |
||
) |
Format the number as a degree angle. This means that the return value is between ]-180,180] and the number is rounded up near the values 0, 90,180,-90.
degrees | |
epsilon |
TIGL_EXPORT CTiglPoint tigl::SnapRotation | ( | CTiglPoint | rotation, |
double | epsilon = Precision::Confusion() |
||
) |
TIGL_EXPORT double* tigl::SnapRotation | ( | double | rotation[3], |
double | epsilon = Precision::Confusion() |
||
) |
TIGL_EXPORT double tigl::SnapUnitInterval | ( | double | number, |
double | epsilon = Precision::Confusion() |
||
) |
Format the number for scale or length double value,. Simply, round up the number near the values: 0, 1, -1.
number | |
epsilon |
TIGL_EXPORT CTiglPoint tigl::SnapUnitInterval | ( | CTiglPoint | scaling, |
double | epsilon = Precision::Confusion() |
||
) |
TIGL_EXPORT double* tigl::SnapUnitInterval | ( | double | scaling[3], |
double | epsilon = Precision::Confusion() |
||
) |
TIGL_EXPORT double tigl::SnapValue | ( | double | number, |
double | snapValue, | ||
double | delta = Precision::Confusion() |
||
) |
Snaps up the value "number" up to "snapValue" iff fabs(number-snapValue) <= dela
number | |
snapValue | |
delta |
|
inline |
std::string tigl::std_to_string | ( | T | value | ) |
TIGL_EXPORT std::vector<double> tigl::stringToDoubleVec | ( | const std::string & | s | ) |
|
inline |
|
inline |
|
inline |
|
inline |
TIGL_EXPORT void tigl::SVD | ( | tiglMatrix const & | A, |
tiglMatrix & | U, | ||
tiglMatrix & | S, | ||
tiglMatrix & | V | ||
) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
TIGL_EXPORT double tigl::transformEtaToCSOrTed | ( | const CCPACSEtaIsoLine & | eta, |
const CTiglUIDManager & | uidMgr | ||
) |
Following are routines, that transform e.g. segment eta/xsi coordinates into the CS system or into TED system
TIGL_EXPORT double tigl::transformEtaToCSOrTed | ( | double | eta, |
const std::string & | referenceUid, | ||
const CTiglUIDManager & | uidMgr | ||
) |
TIGL_EXPORT EtaXsi tigl::transformEtaXsiToCSOrTed | ( | EtaXsi | etaXsi, |
const std::string & | referenceUid, | ||
const CTiglUIDManager & | uidMgr | ||
) |
TIGL_EXPORT TopoDS_Shape tigl::transformFuselageProfileGeometry | ( | const CTiglTransformation & | fuselTransform, |
const CTiglFuselageConnection & | connection, | ||
const TopoDS_Shape & | shape | ||
) |
TIGL_EXPORT TopoDS_Shape tigl::transformWingProfileGeometry | ( | const CTiglTransformation & | wingTransform, |
const CTiglWingConnection & | connection, | ||
const TopoDS_Shape & | wire | ||
) |
Transforms a shape in profile coordinates to world coordinates.
TIGL_EXPORT double tigl::transformXsiToCSOrTed | ( | const CCPACSXsiIsoLine & | xsi, |
const CTiglUIDManager & | uidMgr | ||
) |
TIGL_EXPORT double tigl::transformXsiToCSOrTed | ( | double | xsi, |
const std::string & | referenceUid, | ||
const CTiglUIDManager & | uidMgr | ||
) |
TIGL_EXPORT std::string tigl::typeName | ( | const std::type_info & | ti | ) |
std::string tigl::typeName | ( | ) |
std::string tigl::vecToString | ( | FordwardIter | begin, |
FordwardIter | end, | ||
const char | sep | ||
) |
TIGL_EXPORT int tigl::WingRibPointGetRibNumber | ( | const generated::CPACSWingRibPoint & | ) |
TIGL_EXPORT std::string tigl::WingSparPosGetElementUID | ( | const CCPACSWingSparPosition & | ) |
If the spar position is on a section element, the element uid is returned.
TIGL_EXPORT void tigl::writeMatrix | ( | const tiglMatrix & | x, |
const std::string & | filename | ||
) |
Stores the field to a file in binary form Note: this is not portable. The result will be different on varying platforms.
The corresponding read function should be used only on the same system
|
static |