Releases: DLR-SC/tigl
TiGL 3.0.0
-
General Changes:
-
CPACS 3 compatibility, including the new component-segment coordinate-system definition.
The new cpacs definition of the wing structure allows more precise modelling of ribs and spars. -
Guide curve support for wings and fuselages for high-fidelity surface modeling according to the CPACS 3 defintion.
-
Note: TiGL 3 does not yet contain the control surface device modeling. This will be included into TiGL 3.1.
-
New modeling of nacelles.
-
New modeling of pylons.
-
New modeling of fuselage structure elements like doors, beams, frames and pressure bulkheads.
-
Automated creation of CPACS reading and writing routines. This allows much
better vality checks of the CPACS document. -
The "GetPoint" function of wings / fuselages operate now on the actual wing/fuselage shape (e.g. in case of guide curves). Before, these function operated on the linear loft, which is different from the actual shape. To switch back to the old behavior, the new function
::tiglWingSetGetPointBehavior
and::tiglFuselageSetGetPointBehavior
must be used.
Note: Using the actual smooth wing shape,::tiglWingGetUpperPoint
and::tiglWingGetLowerPoint
do not use the wing chord surface anymore as a reference coordinate system, but relies on the wing surface parametrization.
This change was required, since there would be no other way to retrieve points around the leading edge, that is on front of the trapezoidal chord surface. -
Improved speed of
::tiglFuselageGetPoint
function. Also, the paramter xsi is now interpreted as the relative
curve parameter instead of the relative circumference. -
Improved robustness of fuselage loft computation.
-
The TIGL library was renamed to tigl3. The TIGLViewer was renamed to tiglviewer-3.
-
The windows builds are now using the Visual C++ 2015 Toolchain.
-
TiGL now requires a C++ 11 capable compiler. Minimum required compilers are gcc 4.8 or Visual C++ 2015.
-
-
New API functions:
::tiglWingComponentSegmentPointGetEtaXsi
computes the eta/xsi coordinates of a point on the component segment.::tiglIntersectWithPlaneSegment
computes the intersection of a CPACS shape (e.g. wing) with a plane of finite size.::tiglGetCurveIntersection
to compute the intersection of two curves.::tiglGetCurveIntersectionPoint
to query the intersection point(s) computed by::tiglGetCurveIntersection
.::tiglGetCurveIntersectionCount
returns the number of intersection points computed by::tiglGetCurveIntersection
.::tiglGetCurveParameter
projects a point onto a curve and returns the curve parameter of the point.::tiglFuselageGetSectionCenter
computes the center of a fuselage section defined by its eta coordinate.::tiglFuselageGetCrossSectionArea
computes the area of a fuselage section.::tiglFuselageGetCenterLineLength
computes the length of the centerline of the fuselage.::tiglCheckPointInside
checks, whether a point lies inside some object (defined by its uid).::tiglExportFuselageBREPByUID
and::tiglExportWingBREPByUID
::tiglSetExportOptions
sets exports-specific options::tiglFuselageSetGetPointBehavior
and::tiglWingSetGetPointBehavior
to adjust, whether the get point functions should return linear loft values or points on the actual shape.::tiglSetDebugDataDirectory
specifies the directory of the crashdump data.
-
Changed API:
- Removed deprectated intersection functions. These include
tiglComponentIntersectionLineCount
tiglComponentIntersectionPoint
tiglComponentIntersectionPoints
- Removed function
tiglExportVTKSetOptions
. This is now replaced by::tiglSetExportOptions
tiglWingGetWettedArea
now returns surface area of the wing, if the wing has no parent. Previously this caused a crash.
-
Fixes:
- TiGL Viewer: Fixed missing fonts on macOS
-
Language bindings:
- New python bindings allow to access the whole C++ API of TiGL. This bindings can be installed via conda.
- Python: the tiglwrapper.py module was renamed to tigl3wrapper.py. The Tigl object is renamed to Tigl3.
- Java: the tigl package moved from de.dlr.sc.tigl to de.dlr.sc.tigl3
-
TiGL Viewer:
- Display of reflection lines to inspect surface quality.
- Display of textured surfaces.
- Angle of perspective can be adjusted using the scripting API with
setCameraPosition
andsetLookAtPosition
.
This allows e.g. to create videos of the geometry. - Option to display face names.
- Number of U and V iso-lines can be adjusted independently.
- New design
TiGL 3.0.0-rc2
-
General Changes:
-
CPACS 3 compatibility, including the new component-segment coordinate-system definition.
The new cpacs definition of the wing structure allows more precise modelling of ribs and spars. -
Guide curve support for wings and fuselages for high-fidelity surface modeling according to the CPACS 3 defintion.
-
Note: TiGL 3 does not yet contain the control surface device modeling. This will be included into TiGL 3.1.
-
New modeling of nacelles.
-
New modeling of pylons.
-
New modeling of fuselage structure elements like doors, beams, frames and pressure bulkheads.
-
Automated creation of CPACS reading and writing routines. This allows much
better vality checks of the CPACS document. -
The "GetPoint" function of wings / fuselages operate now on the actual wing/fuselage shape (e.g. in case of guide curves). Before, these function operated
on the linear loft, which is different from the actual shape. To be backwards compatible,::tiglWingGetUpperPoint
,::tiglWingGetLowerPoint
, and::tiglFuselageGetPoint
still use the linear loft by default.
If the actual smooth surface is desired, the new function::tiglWingSetGetPointBehavior
and::tiglFuselageSetGetPointBehavior
must be used to enable smooth lofts.
Note: Using the actual smooth wing shape,::tiglWingGetUpperPoint
and::tiglWingGetLowerPoint
do not use the wing chord surface anymore as a reference coordinate system, but relies on the wing surface parametrization.
This change was required, since there would be no other way to retrieve points around the leading edge, that is on front of the trapezoidal chord surface. -
Improved speed of
::tiglFuselageGetPoint
function. Also, the paramter xsi is now interpreted as the relative
curve parameter instead of the relative circumference. -
Improved robustness of fuselage loft computation.
-
The TIGL library was renamed to tigl3. The TIGLViewer was renamed to tiglviewer-3.
-
The windows builds are now using the Visual C++ 2015 Toolchain.
-
TiGL now requires a C++ 11 capable compiler. Minimum required compilers are gcc 4.8 or Visual C++ 2015.
-
-
New API functions:
::tiglWingComponentSegmentPointGetEtaXsi
computes the eta/xsi coordinates of a point on the component segment.::tiglIntersectWithPlaneSegment
computes the intersection of a CPACS shape (e.g. wing) with a plane of finite size.::tiglGetCurveIntersection
to compute the intersection of two curves.::tiglGetCurveIntersectionPoint
to query the intersection point(s) computed by::tiglGetCurveIntersection
.::tiglGetCurveIntersectionCount
returns the number of intersection points computed by::tiglGetCurveIntersection
.::tiglGetCurveParameter
projects a point onto a curve and returns the curve parameter of the point.::tiglFuselageGetSectionCenter
computes the center of a fuselage section defined by its eta coordinate.::tiglFuselageGetCrossSectionArea
computes the area of a fuselage section.::tiglFuselageGetCenterLineLength
computes the length of the centerline of the fuselage.::tiglCheckPointInside
checks, whether a point lies inside some object (defined by its uid).::tiglExportFuselageBREPByUID
and::tiglExportWingBREPByUID
::tiglSetExportOptions
sets exports-specific options::tiglFuselageSetGetPointBehavior
and::tiglWingSetGetPointBehavior
to adjust, whether the get point functions should return linear loft values or points on the actual shape.
-
Changed API:
- Removed deprectated intersection functions. These include
tiglComponentIntersectionLineCount
tiglComponentIntersectionPoint
tiglComponentIntersectionPoints
- Removed function
tiglExportVTKSetOptions
. This is now replaced by::tiglSetExportOptions
- Removed deprectated intersection functions. These include
-
Language bindings:
- New python bindings allow to access the whole C++ API of TiGL. This bindings can be installed via conda.
- Python: the tiglwrapper.py module was renamed to tigl3wrapper.py. The Tigl object is renamed to Tigl3.
- Java: the tigl package moved from de.dlr.sc.tigl to de.dlr.sc.tigl3
-
TiGL Viewer:
- Display of reflection lines to inspect surface quality.
- Display of textured surfaces.
- Angle of perspective can be adjusted using the scripting API with
setCameraPosition
andsetLookAtPosition
.
This allows e.g. to create videos of the geometry. - Option to display face names.
- Number of U and V iso-lines can be adjusted independently.
- New design
TiGL 2.2.3
- New API functions:
- Backport API function
tiglCheckPointInside
that checks wether a point lies inside a given geometric object - New API function
tiglGetGuideCurvePoints
to obtain the guide curve points on the fuselage/wing for a given guide curve.
- Backport API function
TiGL 2.2.2
-
General changes:
- Modelling of control surfaces as trailing and leading edge devices
- The wing is now written a one entity instead of several segments in the file exports
-
New API functions:
tiglControlSurfaceGetDeflection
to query the deflection of the given control surface devicetiglControlSurfaceSetDeflection
to set the deflection of the given control surface devicetiglGetControlSurfaceCount
to get the number of control surface devicestiglGetControlSurfaceType
to query the type of the control surface device (leading + trailing edge device)tiglGetControlSurfaceUID
to query the UID of the control surface devicetiglControlSurfaceGetMinimumDeflection
andtiglControlSurfaceGetMaximumDeflection
to
get the minimum and maximum deflection of the control surface device
-
Fixes:
- Fixed bug JAVA bindings getProfileSplines (issue #357)
-
TiGLViewer:
-
The control surface devices can be extended and retracted from inside the GUI
-
Added functions to set camera positions. The following functions where added:
- setLookAtPosition(x, y, z)
- setCameraPosition(elevationAngle, azimuthAngle)
They can be used from the console to e.g. create movies.
-
TiGL 3.0.0 RC1
-
General Changes:
- CPACS 3 compatibility, including the new component-segment coordinate-system math.
Note: As CPACS 3 is not officially released yet, the development version of CPACS as of December 18th, 2017 is used.
Note: The wing structure is not yet adapted to CPACS 3 but uses the 2.3 definition. - Guide curve support for wings and fuselages for high-fidelity surface modeling according to the CPACS 3 defintion.
- Automated creation of CPACS reading and writing routines. This allows much
better vality checks of the CPACS document. - Improved speed of
::tiglFuselageGetPoint
function. Also, the paramter xsi is now interpreted as the relative
curve parameter instead of the relative circumference. - The TIGL library was renamed to tigl3. The TIGLViewer was renamed to tiglviewer-3.
- The windows builds are now using the Visual C++ 2015 Toolchain.
- CPACS 3 compatibility, including the new component-segment coordinate-system math.
-
New API functions:
tiglWingComponentSegmentPointGetEtaXsi
computes the eta/xsi coordinates of a point on the component segment.tiglIntersectWithPlaneSegment
computes the intersection of a CPACS shape (e.g. wing) with a plane of finite size.tiglGetCurveIntersection
to compute the intersection of two curves.tiglGetCurveIntersectionPoint
to query the intersection point(s) computed bytiglGetCurveIntersection
.tiglGetCurveIntersectionCount
returns the number of intersection points computed bytiglGetCurveIntersection
.tiglGetCurveParameter
projects a point onto a curve and returns the curve parameter of the point.tiglFuselageGetSectionCenter
computes the center of a fuselage section defined by its eta coordinate.tiglFuselageGetCrossSectionArea
computes the area of a fuselage section.tiglFuselageGetCenterLineLength
computes the length of the centerline of the fuselage.tiglCheckPointInside
checks, whether a point lies inside some object (defined by its uid).tiglExportFuselageBREPbyUID
andtiglExportWingBREPByUID
-
Changed API:
- Removed deprectated intersection functions. These include
- tiglComponentIntersectionLineCount
- tiglComponentIntersectionPoint
- tiglComponentIntersectionPoints
- Removed deprectated intersection functions. These include
-
Fixes:
- TiGL Viewer: Fixed missing fonts on macOS
-
Language bindings:
- Python: the tiglwrapper.py module was renamed to tigl3wrapper.py. The Tigl object is renamed to Tigl3.
- Java: the tigl package moved from de.dlr.sc.tigl to de.dlr.sc.tigl3
-
TiGL Viewer:
- New design
- Custom OpenGL shaders. If problems with the 3D rendering occur, please file a bug.
- Display of reflection lines to inspect surface quality.
- Display of textured surfaces.
- Angle of perspective can be adjusted using the scripting API with
setCameraPosition
andsetLookAtPosition
.
This allows e.g. to create videos of the geometry. - Option to display face names.
- Number of U and V iso-lines can be adjusted independently.
TiGL 2.2.1
-
General changes:
- Improved calculation time of
tiglFuselageGetPointAngle
by roughly a factor of 30. The results might be a different than in previous versions, but the function should be more robust now. - Improved calculation time of
tiglFuselageGetPoint
by applying caching. This leads only to a benefit in case of a large number of GetPoint calls (~30) per fuselage segment. This will be even improved in TiGL 3.
- Improved calculation time of
-
New API functions:
- New API function
tiglExportVTKSetOptions
. This function can be used e.g to disable
normal vector writing in the VTK export.
- New API function
-
Changed API:
- Ignore Symmetry face in
tiglFuselageGetSurfaceArea
for half fuselages - In
tiglFuselageGetPointAngle
the cross section center is used as starting point of the angle rather than the origin of the yz-plane
- Ignore Symmetry face in
-
Fixes:
- Fixed bug, where the VTK export showed no geometry in ParaView
- Improved accuracy of the VTK export. The digits of points are not truncated anymore to avoid duplicate points
- Triangles with zero surface are excluded from the VTK export
- Fixed incorrect face name ordering in WingComponentSegment
TiGL 2.2.0
- Major changes:
- Added modelling of the wing structure, including ribs and spars . This code was part of a large
pull request by Airbus D&S. Currently, the structure is only accessible by the TiGL Viewer.
In future releases, we plan to make the structure accessible from the API. - Improved Collada export: The export is now conforming with the collada schema
and can be displayed with OS X preview. - External shapes are added to the exports.
- Added writing of modified CPACS files. Still, we do not offer yet API functions
for modifications. Using the internal API, modifications are already possible.
- Added modelling of the wing structure, including ribs and spars . This code was part of a large
- New API functions:
- New API function
tiglSaveCPACSConfiguration
for writing the CPACS configuration into a file.
- New API function
- TiGLViewer:
- Visualization of the wing structure.
- Improved linking and compilation with Qt.
- Added STL export of the whole aircraft configuration.
TiGL 2.1.7
- General changes:
- Support for generic aircraft systems (by Jonas Jepsen).
- External components are now conforming with the CPACS 2.3 standard (by Jonas Jepsen).
- Support for rotorcraft (by Philipp Kunze).
- Improved IGES export: Added support for long names in IGES (more than 8 characters as before).
- Removed support for RedHat 5 and Ubuntu 13.10.
- Added support for RedHat 7.
- Ported to OpenCASCADE 6.9.0 and 7.0.0.
- New API functions:
tiglWingComponentSegmentComputeEtaIntersection
: This function should be used to compute points on the wing
that lie on a straight line between two given points.tiglFuselageGetIndex
to compute the index based on the fuselage UID.- Added new API functions for rotors and rotor blades:
tiglGetRotorCount
tiglRotorGetUID
tiglRotorGetIndex
tiglRotorGetRadius
tiglRotorGetReferenceArea
tiglRotorGetTotalBladePlanformArea
tiglRotorGetSolidity
tiglRotorGetSurfaceArea
tiglRotorGetVolume
tiglRotorGetTipSpeed
tiglRotorGetRotorBladeCount
tiglRotorBladeGetWingIndex
tiglRotorBladeGetWingUID
tiglRotorBladeGetAzimuthAngle
tiglRotorBladeGetRadius
tiglRotorBladeGetPlanformArea
tiglRotorBladeGetSurfaceArea
tiglRotorBladeGetVolume
tiglRotorBladeGetTipSpeed
tiglRotorBladeGetLocalRadius
tiglRotorBladeGetLocalChord
tiglRotorBladeGetLocalTwistAngle
- Fixes:
- Fixed parent-child transformations in case of multiple root components.
- Fixed an error in
tiglWingComponentSegmentGetPoint
in case of multiple intersections of the eta plane with the wing.
This was the case for e.g. box wings. (issue #176). - Fixed bug
tiglWingGetSpan
in wing span computation when no wing symmetry is given (e.g. for a VTP) (issue #185 and #195). - Fixed another bug in
tiglWingGetSpan
when the symmetry plane was the Y-Z plane (issue #174). - Fixed incorrect result in
tiglWingGetSegmentEtaXsi
near wing sections, returning the wrong section (issue#187). - Fixed an issue in
tiglWingGetSegmentEtaXsi
in case the airfoil is completely above the chord surface. - Fixed point projection on the geometry for large scale data (eg a factor of 1000) by making the convergence criterium size dependent (issue #203).
- TiGLViewer:
- Visualization of rotorcraft and rotorcraft specific menus.
- Visualization of generic aircraft systems.
- Added
wingGetSpan
function to TiGLViewer scripting. - Added script function
wingComponentSegmentGetPoint
. - Fixed tiglviewer.sh script loading wrong OpenCASCADE libraries.
- Language bindings:
- Started experimental python bindings for the internal API.
This allows a direct manipulation of the geometry objects
from python together with the OpenCASCADE python bindings (pythonocc). - The source code of the matlab bindings is now shipped on all systems. In addition,
we distribute a Makefile which can be used to compile the Matlab bindings when needed. - Added function
tiglWingComponentSegmentComputeEtaIntersection
to java bindings.
- Started experimental python bindings for the internal API.
TiGL 2.1.6
TiGL 2.1.6 was released on 15/07/2015. This is a bugfix release.
- TiGL Viewer:
- Fixed critical crash on Windows 64 bit systems that occured sporadically on some systems
TiGL 2.1.5
TiGL 2.1.5 was released on 01/07/2015
- Changed API:
- Added an output argument in the function
tiglWingComponentSegmentPointGetSegmentEtaXsi
that returns the error of the computation. - The function
tiglWingComponentSegmentGetSegmentIntersection
uses a new algorithm that should ensure straight
flap leading edges and straight spars. Also, a new parameterhasWarning
was added, to inform the user, that the
returned segment xsi value is not in the valid range [0,1]. This might be the case, if a spar is partially located outside the wing. - Removed macros TIGL_VERSION and TIGL_VERSION_MAJOR from tigl.h. Please use tigl_version.h instead.
- Added an output argument in the function
- General changes:
- External geometries can be included into the CPACS file using a link to a STEP file. The allows e.g. the use
of engines and nacelles. (Note: this is not yet included in the CPACS standard) - Improved computation of half model fuselage profiles. Now, fuselages are c2 continuous at the symmetry plane.
- Improved computation speed of
tiglWingComponentSegmentGetPoint
by a factor of 30 to 600 (depending on the geometry). - Reduced execution time of
tiglOpenCPACSConfiguration
. - All TiXI messages (errors/warnings) are now printed to the TiGL log.
- Ported to OpenCASCADE 6.8.0.
- External geometries can be included into the CPACS file using a link to a STEP file. The allows e.g. the use
- New API functions:
tiglExportFusedBREP
to export the fused configuration to the BRep file format.
- Fixes:
- Fixed bug, where guide curves on half model fuselages were not touching the symmetry plane.
- Fixed a TIGL_MATH_ERROR bug in
tiglWingComponentSegmentGetSegmentIntersection
.
- TiGL Viewer:
- Ported to Qt 5.
- OpenGL accelerated rubber band selection. This fixes the slow rubber band selection on Linux and
the invisible rubber band selection on Mac. - Fixed bug when loading a CPACS file with multiple models (thanks Jonas!).
- Removed support for legacy VRML and CSDFB files.