IGLGraphics Library Structure
IGLGraphics is organized into multiple modules, where each package is responsible for a specific part of the rendering and visualization pipeline.
Library Structure
IGLGraphics
│
├── core
├── geometry
├── graphics
├── meshvs
└── cae
core
The core module contains the fundamental systems used throughout the graphics library.
core │ ├── IGLBoundingBox.py ├── IGLCamera.py ├── IGLDisplayContext.py ├── IGLGradientBackground.py ├── IGLGlobals.py └── IGLImports.py
IGLBoundingBox
Handles axis-aligned bounding box calculations used for visibility, fitting and selection operations.
IGLCamera
Implements camera transformations, navigation, orbiting, panning and zooming.
IGLDisplayContext
Manages scene interaction, selection state and visualization context.
IGLGlobals
Stores global constants and rendering settings.
geometry
The geometry module defines the CAD and scene data structures.
geometry │ ├── IGLAssembly.py ├── IGLBody.py ├── IGLGeometry.py └── IGLImport.py
IGLAssembly
Represents hierarchical 3D model assemblies imported from JSON files.
IGLBody
Represents an individual renderable body or component.
IGLGeometry
Parent class for all geometry types.
IGLBody inherits from IGLGeometry and extends it with body-specific
attributes and methods.
IGLImport
Handles geometry import from json and mesh import using GMSH.
graphics
The graphics module contains the rendering and visualization systems.
graphics
│
├── IGLPicker.py
├── IGLSelectableObj.py
├── IGLShaders.py
├── IGLShape.py
├── IGLStdPrs.py
├── IGLTriad.py
├── IGLViewer.py
├── IGLClipPlane.py
└── olwidgets
│ IGLBorderWidget.py
│ IGLOverlayWidget.py
│ IGLScalarBar.py
│ IGLScalarBarSettings.py
│ IGLTextWidget.py
IGLPicker
Implements ray casting and object selection algorithms.
IGLSelectableObj
Base class for selectable scene objects.
IGLShaders
Contains GLSL shader programs and shader management logic.
IGLShape
Defines graphical shape representations and renderable entities.
IGLStdPrs
Provides standard visualization presentations and display modes.
IGLTriad
Renders the orientation triad used for coordinate visualization.
IGLViewer
Main OpenGL viewer responsible for rendering, interaction and scene visualization.
meshvs
The meshvs module handles mesh visualization and rendering.
meshvs │ ├── IGLImportMesh.py ├── IGLMesh.py ├── IGLMeshDS.py └── IGLMeshVS.py
IGLImportMesh
Imports mesh data from external mesh formats.
IGLMesh
Represents finite element and polygon mesh geometry.
IGLMeshDS
Stores mesh topology, connectivity and mesh data structures.
IGLMeshVS
Visualizes meshes using OpenGL rendering techniques.
cae
The cae module handles finite element analysis results and post processing.
cae │ ├── IGLBaseField.py ├── IGLCAE.py ├── IGLDATReader.py ├── IGLFEAMesh.py ├── IGLFEAModel.py ├── IGLFEAPost.py ├── IGLFEAResults.py ├── IGLFEAStep.py ├── IGLFRDReader.py ├── IGLMotionControl.py ├── IGLScalarField.py ├── IGLTensorField.py └── IGLVectorField.py
IGLCAE
High-level interface for FEA model data and visualization
IGLFEAModel
Provides convenience methods to extract fields, compute derived scalar fields for visualization.
IGLFEAResults
Container class for managing finite element analysis result steps
IGLFEAPost
Provides common stress and displacement post-processing operations used in structural FEA visualization workflows
Design Philosophy
The IGLGraphics architecture separates geometry, rendering, interaction and FEA visualization into independent modules. This modular approach makes the library scalable, maintainable and suitable for advanced CAD and scientific visualization applications.