← Back to team overview

kicad-developers team mailing list archive

[PATCH] Add "noexcept" to a few functions (2)

 

Automated code analysis says that these cannot throw exceptions and can be
marked "noexcept".
---
 3d-viewer/3d_canvas/cinfo3d_visu.h                 | 13 +++++----
 3d-viewer/3d_canvas/eda_3d_canvas.h                |  9 ++++--
 3d-viewer/3d_canvas/status_text_reporter.h         |  4 +--
 3d-viewer/3d_fastmath.cpp                          |  6 ++--
 3d-viewer/3d_fastmath.h                            | 14 +++++-----
 3d-viewer/3d_math.h                                |  6 ++--
 3d-viewer/3d_model_viewer/c3d_model_viewer.cpp     |  2 +-
 3d-viewer/3d_model_viewer/c3d_model_viewer.h       |  2 +-
 .../3d_render_ogl_legacy/c3d_render_ogl_legacy.cpp |  8 +++---
 .../3d_render_ogl_legacy/c3d_render_ogl_legacy.h   | 12 ++++----
 .../3d_render_ogl_legacy/c_ogl_3dmodel.cpp         |  8 +++---
 .../3d_render_ogl_legacy/c_ogl_3dmodel.h           | 10 +++----
 .../3d_render_ogl_legacy/clayer_triangles.cpp      |  8 +++---
 .../3d_render_ogl_legacy/clayer_triangles.h        | 18 ++++++------
 .../3d_render_raytracing/PerlinNoise.cpp           |  8 +++---
 .../3d_render_raytracing/PerlinNoise.h             |  8 +++---
 .../accelerators/cbvh_pbrt.cpp                     | 10 +++----
 .../3d_render_raytracing/accelerators/ccontainer.h |  4 +--
 .../accelerators/ccontainer2d.cpp                  |  2 +-
 .../accelerators/ccontainer2d.h                    |  4 +--
 .../3d_render_raytracing/c3d_render_raytracing.cpp |  8 +++---
 .../3d_render_raytracing/c3d_render_raytracing.h   |  6 ++--
 .../3d_rendering/3d_render_raytracing/clight.h     |  8 +++---
 .../3d_rendering/3d_render_raytracing/cmaterial.h  | 32 +++++++++++-----------
 .../3d_render_raytracing/mortoncodes.cpp           |  8 +++---
 .../3d_rendering/3d_render_raytracing/ray.cpp      |  2 +-
 3d-viewer/3d_rendering/3d_render_raytracing/ray.h  |  2 +-
 .../3d_render_raytracing/shapes2D/cbbox2d.cpp      |  8 +++---
 .../3d_render_raytracing/shapes2D/cbbox2d.h        | 12 ++++----
 .../shapes2D/cfilledcircle2d.cpp                   |  2 +-
 .../shapes2D/cfilledcircle2d.h                     |  8 +++---
 .../shapes2D/citemlayercsg2d.cpp                   |  4 +--
 .../shapes2D/citemlayercsg2d.h                     |  4 +--
 .../3d_render_raytracing/shapes2D/cobject2d.cpp    |  2 +-
 .../3d_render_raytracing/shapes2D/cobject2d.h      |  4 +--
 35 files changed, 136 insertions(+), 130 deletions(-)

diff --git a/3d-viewer/3d_canvas/cinfo3d_visu.h b/3d-viewer/3d_canvas/cinfo3d_visu.h
index 2315418b67..5cbb4777c4 100644
--- a/3d-viewer/3d_canvas/cinfo3d_visu.h
+++ b/3d-viewer/3d_canvas/cinfo3d_visu.h
@@ -79,13 +79,16 @@ class CINFO3D_VISU
      * @brief Set3DCacheManager - Update the Cache manager pointer
      * @param aCachePointer: the pointer to the 3d cache manager
      */
-    void Set3DCacheManager( S3D_CACHE *aCachePointer ) { m_3d_model_manager = aCachePointer; }
+    void Set3DCacheManager( S3D_CACHE *aCachePointer ) noexcept { m_3d_model_manager = aCachePointer; }
 
     /**
      * @brief Get3DCacheManager - Return the 3d cache manager pointer
      * @return
      */
-    S3D_CACHE *Get3DCacheManager( ) const { return m_3d_model_manager; }
+    S3D_CACHE *Get3DCacheManager( ) const noexcept
+    {
+        return m_3d_model_manager;
+    }
 
     /**
      * @brief GetFlag - get a configuration status of a flag
@@ -417,11 +420,11 @@ class CINFO3D_VISU
      * @brief GetPolyMap - Get maps of polygons's layers
      * @return the map with polygons's layers
      */
-    const MAP_POLY &GetPolyMap() const { return m_layers_poly; }
+    const MAP_POLY &GetPolyMap() const noexcept { return m_layers_poly; }
 
-    const MAP_POLY &GetPolyMapHoles_Inner() const { return m_layers_inner_holes_poly; }
+    const MAP_POLY &GetPolyMapHoles_Inner() const noexcept { return m_layers_inner_holes_poly; }
 
-    const MAP_POLY &GetPolyMapHoles_Outer() const { return m_layers_outer_holes_poly; }
+    const MAP_POLY &GetPolyMapHoles_Outer() const noexcept { return m_layers_outer_holes_poly; }
 
  private:
     void createBoardPolygon();
diff --git a/3d-viewer/3d_canvas/eda_3d_canvas.h b/3d-viewer/3d_canvas/eda_3d_canvas.h
index 843c9cda10..cd566aff60 100644
--- a/3d-viewer/3d_canvas/eda_3d_canvas.h
+++ b/3d-viewer/3d_canvas/eda_3d_canvas.h
@@ -70,7 +70,10 @@ class EDA_3D_CANVAS : public HIDPI_GL_CANVAS
 
     ~EDA_3D_CANVAS();
 
-    void SetStatusBar( wxStatusBar *aStatusBar ) { m_parentStatusBar = aStatusBar; }
+    void SetStatusBar( wxStatusBar *aStatusBar ) noexcept
+    {
+        m_parentStatusBar = aStatusBar;
+    }
 
     void ReloadRequest( BOARD *aBoard = NULL, S3D_CACHE *aCachePointer = NULL );
 
@@ -124,9 +127,9 @@ class EDA_3D_CANVAS : public HIDPI_GL_CANVAS
 
     void OnKeyEvent( wxKeyEvent& event );
 
-    bool SupportsRayTracing() const { return m_opengl_supports_raytracing; }
+    bool SupportsRayTracing() const noexcept { return m_opengl_supports_raytracing; }
 
-    bool IsOpenGLInitialized() const { return m_is_opengl_initialized; }
+    bool IsOpenGLInitialized() const noexcept { return m_is_opengl_initialized; }
 
 private:
 
diff --git a/3d-viewer/3d_canvas/status_text_reporter.h b/3d-viewer/3d_canvas/status_text_reporter.h
index 2d7f9d0c51..0f50c3c70a 100644
--- a/3d-viewer/3d_canvas/status_text_reporter.h
+++ b/3d-viewer/3d_canvas/status_text_reporter.h
@@ -43,7 +43,7 @@ private:
     bool         m_hasMessage;
 
 public:
-    STATUS_TEXT_REPORTER( wxStatusBar* aParentStatusBar, int aPosition = 0 ) :
+    STATUS_TEXT_REPORTER( wxStatusBar* aParentStatusBar, int aPosition = 0 ) noexcept :
         REPORTER(),
         m_parentStatusBar( aParentStatusBar ), m_position( aPosition )
     {
@@ -61,7 +61,7 @@ public:
         return *this;
     }
 
-    bool HasMessage() const override { return m_hasMessage; }
+    bool HasMessage() const noexcept override { return m_hasMessage; }
 };
 
 
diff --git a/3d-viewer/3d_fastmath.cpp b/3d-viewer/3d_fastmath.cpp
index e84cfb35ac..bba7b1a72a 100644
--- a/3d-viewer/3d_fastmath.cpp
+++ b/3d-viewer/3d_fastmath.cpp
@@ -42,7 +42,7 @@ static int s_randSeed = 1;
 
 // fast rand float, using full 32bit precision
 // returns in the range [-1, 1] (not confirmed)
-float Fast_RandFloat()
+float Fast_RandFloat() noexcept
 {
     s_randSeed *= 16807;
 
@@ -55,14 +55,14 @@ float Fast_RandFloat()
 
 static unsigned long int s_nextRandSeed = 1;
 
-int Fast_rand( void ) // RAND_MAX assumed to be 32767
+int Fast_rand( void ) noexcept // RAND_MAX assumed to be 32767
 {
     s_nextRandSeed = s_nextRandSeed * 1103515245 + 12345;
 
     return (unsigned int)(s_nextRandSeed >>  16) & 0x7FFF;
 }
 
-void Fast_srand( unsigned int seed )
+void Fast_srand( unsigned int seed ) noexcept
 {
     s_nextRandSeed = seed;
 }
diff --git a/3d-viewer/3d_fastmath.h b/3d-viewer/3d_fastmath.h
index 24e5a9f7b4..8dcda245b2 100644
--- a/3d-viewer/3d_fastmath.h
+++ b/3d-viewer/3d_fastmath.h
@@ -50,10 +50,10 @@
 // Fast Float Random Numbers
 // a small and fast implementation for random float numbers in the range [-1,1]
 // This is not thread safe
-float Fast_RandFloat();
+float Fast_RandFloat() noexcept;
 
-int Fast_rand( void );
-void Fast_srand( unsigned int seed );
+int Fast_rand( void ) noexcept;
+void Fast_srand( unsigned int seed ) noexcept;
 
 /**
  * This part contains some functions from the PBRT 3 source code.
@@ -93,7 +93,7 @@ void Fast_srand( unsigned int seed );
 
 
 // Global Inline Functions
-inline uint32_t FloatToBits( float f )
+inline uint32_t FloatToBits( float f ) noexcept
 {
     uint32_t ui;
 
@@ -103,7 +103,7 @@ inline uint32_t FloatToBits( float f )
 }
 
 
-inline float BitsToFloat( uint32_t ui )
+inline float BitsToFloat( uint32_t ui ) noexcept
 {
     float f;
 
@@ -113,7 +113,7 @@ inline float BitsToFloat( uint32_t ui )
 }
 
 
-inline uint64_t FloatToBits( double f )
+inline uint64_t FloatToBits( double f ) noexcept
 {
     uint64_t ui;
 
@@ -123,7 +123,7 @@ inline uint64_t FloatToBits( double f )
 }
 
 
-inline double BitsToFloat( uint64_t ui )
+inline double BitsToFloat( uint64_t ui ) noexcept
 {
     double f;
 
diff --git a/3d-viewer/3d_math.h b/3d-viewer/3d_math.h
index f1d4817cf3..6aa1b277a4 100644
--- a/3d-viewer/3d_math.h
+++ b/3d-viewer/3d_math.h
@@ -144,7 +144,7 @@ inline float mapf( float x,
   return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
 }
 
-inline float RGBtoGray( const SFVEC3F &aColor )
+inline float RGBtoGray( const SFVEC3F &aColor ) noexcept
 {
     return (aColor.r * 0.2126f +
             aColor.g * 0.7152f +
@@ -169,7 +169,7 @@ inline SFVEC3F MaterialDiffuseToColorCAD( const SFVEC3F &aDiffuseColor )
 
 
 // http://fooplot.com/#W3sidHlwZSI6MCwiZXEiOiJ4KngqMiIsImNvbG9yIjoiIzAwMDAwMCJ9LHsidHlwZSI6MCwiZXEiOiItKCh4LTEpXjIpKjIrMSIsImNvbG9yIjoiIzAwMDAwMCJ9LHsidHlwZSI6MTAwMCwid2luZG93IjpbIi0xLjM4NzUwMDAwMDAwMDAwMDIiLCIxLjg2MjQ5OTk5OTk5OTk5OTgiLCItMC43IiwiMS4zIl19XQ--
-inline float QuadricEasingInOut( float t )
+inline float QuadricEasingInOut( float t ) noexcept
 {
     if( t <= 0.5f )
     {
@@ -185,7 +185,7 @@ inline float QuadricEasingInOut( float t )
 
 
 // http://www.wolframalpha.com/input/?i=t%5E2(3-2t)
-inline float BezierBlend( float t )
+inline float BezierBlend( float t ) noexcept
 {
     return t * t * ( 3.0f - 2.0f * t );
 }
diff --git a/3d-viewer/3d_model_viewer/c3d_model_viewer.cpp b/3d-viewer/3d_model_viewer/c3d_model_viewer.cpp
index e00a772f73..e918ac80ab 100644
--- a/3d-viewer/3d_model_viewer/c3d_model_viewer.cpp
+++ b/3d-viewer/3d_model_viewer/c3d_model_viewer.cpp
@@ -178,7 +178,7 @@ void C3D_MODEL_VIEWER::Clear3DModel()
 }
 
 
-void C3D_MODEL_VIEWER::ogl_initialize()
+void C3D_MODEL_VIEWER::ogl_initialize() noexcept
 {
     glHint( GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST );
     glHint( GL_LINE_SMOOTH_HINT, GL_NICEST );
diff --git a/3d-viewer/3d_model_viewer/c3d_model_viewer.h b/3d-viewer/3d_model_viewer/c3d_model_viewer.h
index 22a65cab7b..0971c9903e 100644
--- a/3d-viewer/3d_model_viewer/c3d_model_viewer.h
+++ b/3d-viewer/3d_model_viewer/c3d_model_viewer.h
@@ -78,7 +78,7 @@ public:
     void Clear3DModel();
 
 private:
-    void ogl_initialize();
+    void ogl_initialize() noexcept;
     void ogl_set_arrow_material();
 
 private:
diff --git a/3d-viewer/3d_rendering/3d_render_ogl_legacy/c3d_render_ogl_legacy.cpp b/3d-viewer/3d_rendering/3d_render_ogl_legacy/c3d_render_ogl_legacy.cpp
index dc9dd00824..638cb09c9f 100644
--- a/3d-viewer/3d_rendering/3d_render_ogl_legacy/c3d_render_ogl_legacy.cpp
+++ b/3d-viewer/3d_rendering/3d_render_ogl_legacy/c3d_render_ogl_legacy.cpp
@@ -81,7 +81,7 @@ C3D_RENDER_OGL_LEGACY::~C3D_RENDER_OGL_LEGACY()
 }
 
 
-int C3D_RENDER_OGL_LEGACY::GetWaitForEditingTimeOut()
+int C3D_RENDER_OGL_LEGACY::GetWaitForEditingTimeOut() noexcept
 {
     return 50; // ms
 }
@@ -99,7 +99,7 @@ void C3D_RENDER_OGL_LEGACY::SetCurWindowSize( const wxSize &aSize )
 }
 
 
-void C3D_RENDER_OGL_LEGACY::setLight_Front( bool enabled )
+void C3D_RENDER_OGL_LEGACY::setLight_Front( bool enabled ) noexcept
 {
     if( enabled )
         glEnable( GL_LIGHT0 );
@@ -108,7 +108,7 @@ void C3D_RENDER_OGL_LEGACY::setLight_Front( bool enabled )
 }
 
 
-void C3D_RENDER_OGL_LEGACY::setLight_Top( bool enabled )
+void C3D_RENDER_OGL_LEGACY::setLight_Top( bool enabled ) noexcept
 {
     if( enabled )
         glEnable( GL_LIGHT1 );
@@ -117,7 +117,7 @@ void C3D_RENDER_OGL_LEGACY::setLight_Top( bool enabled )
 }
 
 
-void C3D_RENDER_OGL_LEGACY::setLight_Bottom( bool enabled )
+void C3D_RENDER_OGL_LEGACY::setLight_Bottom( bool enabled ) noexcept
 {
     if( enabled )
         glEnable( GL_LIGHT2 );
diff --git a/3d-viewer/3d_rendering/3d_render_ogl_legacy/c3d_render_ogl_legacy.h b/3d-viewer/3d_rendering/3d_render_ogl_legacy/c3d_render_ogl_legacy.h
index f234c6cf31..0a969af4b1 100644
--- a/3d-viewer/3d_rendering/3d_render_ogl_legacy/c3d_render_ogl_legacy.h
+++ b/3d-viewer/3d_rendering/3d_render_ogl_legacy/c3d_render_ogl_legacy.h
@@ -67,7 +67,7 @@ public:
     void SetCurWindowSize( const wxSize &aSize ) override;
     bool Redraw( bool aIsMoving, REPORTER *aStatusTextReporter ) override;
 
-    int GetWaitForEditingTimeOut() override;
+    int GetWaitForEditingTimeOut() noexcept override;
 
 private:
     bool initializeOpenGL();
@@ -186,9 +186,9 @@ private:
 
     void render_3D_module( const MODULE* module, bool aRenderTransparentOnly );
 
-    void setLight_Front( bool enabled );
-    void setLight_Top( bool enabled );
-    void setLight_Bottom( bool enabled );
+    void setLight_Front( bool enabled ) noexcept;
+    void setLight_Top( bool enabled ) noexcept;
+    void setLight_Bottom( bool enabled ) noexcept;
 
     void render_3D_arrows();
 
@@ -212,9 +212,9 @@ private:
     SFVEC3F get_layer_color( PCB_LAYER_ID aLayerID );
 
 public:
-    const MAP_OGL_DISP_LISTS &GetLayerDispListMap() const { return m_ogl_disp_lists_layers; }
+    const MAP_OGL_DISP_LISTS &GetLayerDispListMap() const noexcept { return m_ogl_disp_lists_layers; }
     const CLAYERS_OGL_DISP_LISTS *GetLayerDispList( PCB_LAYER_ID aLayerId ) const { return m_ogl_disp_lists_layers.at( aLayerId ); }
-    const CLAYERS_OGL_DISP_LISTS *GetBoardDispList() const { return m_ogl_disp_list_board; }
+    const CLAYERS_OGL_DISP_LISTS *GetBoardDispList() const noexcept { return m_ogl_disp_list_board; }
 };
 
 #endif // C3D_RENDER_OGL_LEGACY_H_
diff --git a/3d-viewer/3d_rendering/3d_render_ogl_legacy/c_ogl_3dmodel.cpp b/3d-viewer/3d_rendering/3d_render_ogl_legacy/c_ogl_3dmodel.cpp
index 66a07b55d7..13f91e903f 100644
--- a/3d-viewer/3d_rendering/3d_render_ogl_legacy/c_ogl_3dmodel.cpp
+++ b/3d-viewer/3d_rendering/3d_render_ogl_legacy/c_ogl_3dmodel.cpp
@@ -324,14 +324,14 @@ C_OGL_3DMODEL::C_OGL_3DMODEL( const S3DMODEL &a3DModel,
 }
 
 
-void C_OGL_3DMODEL::Draw_opaque() const
+void C_OGL_3DMODEL::Draw_opaque() const noexcept
 {
     if( glIsList( m_ogl_idx_list_opaque ) )
         glCallList( m_ogl_idx_list_opaque );
 }
 
 
-void C_OGL_3DMODEL::Draw_transparent() const
+void C_OGL_3DMODEL::Draw_transparent() const noexcept
 {
     if( glIsList( m_ogl_idx_list_transparent ) )
         glCallList( m_ogl_idx_list_transparent );
@@ -371,13 +371,13 @@ void C_OGL_3DMODEL::Draw_bboxes() const
 }
 
 
-bool C_OGL_3DMODEL::Have_opaque() const
+bool C_OGL_3DMODEL::Have_opaque() const noexcept
 {
     return glIsList( m_ogl_idx_list_opaque );
 }
 
 
-bool C_OGL_3DMODEL::Have_transparent() const
+bool C_OGL_3DMODEL::Have_transparent() const noexcept
 {
     return glIsList( m_ogl_idx_list_transparent );
 }
diff --git a/3d-viewer/3d_rendering/3d_render_ogl_legacy/c_ogl_3dmodel.h b/3d-viewer/3d_rendering/3d_render_ogl_legacy/c_ogl_3dmodel.h
index c5a2309d5d..ac32ec6fc5 100644
--- a/3d-viewer/3d_rendering/3d_render_ogl_legacy/c_ogl_3dmodel.h
+++ b/3d-viewer/3d_rendering/3d_render_ogl_legacy/c_ogl_3dmodel.h
@@ -51,22 +51,22 @@ public:
     /**
      * @brief Draw_opaque - render the model into the current context
      */
-    void Draw_opaque() const;
+    void Draw_opaque() const noexcept;
 
     /**
      * @brief Draw_transparent - render the model into the current context
      */
-    void Draw_transparent() const;
+    void Draw_transparent() const noexcept;
 
     /**
      * @brief Have_opaque - return true if have opaque meshs to render
      */
-    bool Have_opaque() const;
+    bool Have_opaque() const noexcept;
 
     /**
      * @brief Have_transparent - return true if have transparent meshs to render
      */
-    bool Have_transparent() const;
+    bool Have_transparent() const noexcept;
 
     /**
      * @brief Draw_bbox - draw main bounding box of the model
@@ -82,7 +82,7 @@ public:
      * @brief GetBBox - Get main bbox
      * @return the main model bbox
      */
-    const CBBOX &GetBBox() const { return m_model_bbox; }
+    const CBBOX &GetBBox() const noexcept { return m_model_bbox; }
 
 private:
     GLuint  m_ogl_idx_list_opaque;      ///< display list for rendering opaque meshes
diff --git a/3d-viewer/3d_rendering/3d_render_ogl_legacy/clayer_triangles.cpp b/3d-viewer/3d_rendering/3d_render_ogl_legacy/clayer_triangles.cpp
index 691c94b902..f6962b0c44 100644
--- a/3d-viewer/3d_rendering/3d_render_ogl_legacy/clayer_triangles.cpp
+++ b/3d-viewer/3d_rendering/3d_render_ogl_legacy/clayer_triangles.cpp
@@ -633,7 +633,7 @@ void CLAYERS_OGL_DISP_LISTS::ApplyScalePosition( float aZposition,
 }
 
 
-void CLAYERS_OGL_DISP_LISTS::SetItIsTransparent( bool aSetTransparent )
+void CLAYERS_OGL_DISP_LISTS::SetItIsTransparent( bool aSetTransparent ) noexcept
 {
     m_draw_it_transparent = aSetTransparent;
 }
@@ -807,7 +807,7 @@ GLuint CLAYERS_OGL_DISP_LISTS::generate_middle_triangles(
 }
 
 
-void CLAYERS_OGL_DISP_LISTS::endTransformation() const
+void CLAYERS_OGL_DISP_LISTS::endTransformation() const noexcept
 {
     if( m_haveTransformation )
     {
@@ -816,14 +816,14 @@ void CLAYERS_OGL_DISP_LISTS::endTransformation() const
 }
 
 
-void CLAYERS_OGL_DISP_LISTS::setBlendfunction() const
+void CLAYERS_OGL_DISP_LISTS::setBlendfunction() const noexcept
 {
     glEnable( GL_BLEND );
     glBlendFunc( GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA );
 }
 
 
-void CLAYERS_OGL_DISP_LISTS::beginTransformation() const
+void CLAYERS_OGL_DISP_LISTS::beginTransformation() const noexcept
 {
     if( m_haveTransformation )
     {
diff --git a/3d-viewer/3d_rendering/3d_render_ogl_legacy/clayer_triangles.h b/3d-viewer/3d_rendering/3d_render_ogl_legacy/clayer_triangles.h
index 9deb119782..4bde1569bb 100644
--- a/3d-viewer/3d_rendering/3d_render_ogl_legacy/clayer_triangles.h
+++ b/3d-viewer/3d_rendering/3d_render_ogl_legacy/clayer_triangles.h
@@ -118,13 +118,13 @@ public:
      * @brief GetVertexSize
      * @return
      */
-    unsigned int GetVertexSize() const { return (unsigned int)m_vertexs.size(); }
+    unsigned int GetVertexSize() const noexcept { return (unsigned int)m_vertexs.size(); }
 
     /**
      * @brief GetNormalsSize
      * @return
      */
-    unsigned int GetNormalsSize() const { return (unsigned int)m_normals.size(); }
+    unsigned int GetNormalsSize() const noexcept { return (unsigned int)m_normals.size(); }
 
 private:
     SFVEC3F_VECTOR m_vertexs;  ///< vertex array
@@ -259,12 +259,12 @@ public:
 
     void ApplyScalePosition( float aZposition, float aZscale );
 
-    void ClearScalePosition() { m_haveTransformation = false; }
+    void ClearScalePosition() noexcept { m_haveTransformation = false; }
 
-    void SetItIsTransparent( bool aSetTransparent );
+    void SetItIsTransparent( bool aSetTransparent ) noexcept;
 
-    float GetZBot() const { return m_zBot; }
-    float GetZTop() const { return m_zTop; }
+    float GetZBot() const noexcept { return m_zBot; }
+    float GetZTop() const noexcept { return m_zTop; }
 
 private:
     GLuint generate_top_or_bot_seg_ends( const CLAYER_TRIANGLE_CONTAINER * aTriangleContainer,
@@ -276,10 +276,10 @@ private:
 
     GLuint generate_middle_triangles( const CLAYER_TRIANGLE_CONTAINER * aTriangleContainer ) const;
 
-    void beginTransformation() const;
-    void endTransformation() const;
+    void beginTransformation() const noexcept;
+    void endTransformation() const noexcept;
 
-    void setBlendfunction() const;
+    void setBlendfunction() const noexcept;
 
 private:
     float   m_zBot;
diff --git a/3d-viewer/3d_rendering/3d_render_raytracing/PerlinNoise.cpp b/3d-viewer/3d_rendering/3d_render_raytracing/PerlinNoise.cpp
index 523edb619d..c2ab0e3ae1 100644
--- a/3d-viewer/3d_rendering/3d_render_raytracing/PerlinNoise.cpp
+++ b/3d-viewer/3d_rendering/3d_render_raytracing/PerlinNoise.cpp
@@ -176,19 +176,19 @@ float PerlinNoise::noise( float x, float y ) const
 }
 
 
-float PerlinNoise::fade( float t ) const
+float PerlinNoise::fade( float t ) const noexcept
 {
     return t * t * t * (t * (t * 6.0f - 15.0f) + 10.0f);
 }
 
 
-float PerlinNoise::lerp( float t, float a, float b ) const
+float PerlinNoise::lerp( float t, float a, float b ) const noexcept
 {
     return a + t * (b - a);
 }
 
 
-float PerlinNoise::grad( int hash, float x, float y, float z ) const
+float PerlinNoise::grad( int hash, float x, float y, float z ) const noexcept
 {
     const int h = hash & 15;
 
@@ -200,7 +200,7 @@ float PerlinNoise::grad( int hash, float x, float y, float z ) const
 }
 
 
-float PerlinNoise::grad( int hash, float x, float y ) const
+float PerlinNoise::grad( int hash, float x, float y ) const noexcept
 {
     const int h = hash & 15;
 
diff --git a/3d-viewer/3d_rendering/3d_render_raytracing/PerlinNoise.h b/3d-viewer/3d_rendering/3d_render_raytracing/PerlinNoise.h
index adfbbc58c2..c21b16460c 100644
--- a/3d-viewer/3d_rendering/3d_render_raytracing/PerlinNoise.h
+++ b/3d-viewer/3d_rendering/3d_render_raytracing/PerlinNoise.h
@@ -69,10 +69,10 @@ public:
     float noise( float x, float y ) const;
 
 private:
-    float fade( float t ) const;
-    float lerp( float t, float a, float b ) const;
-    float grad( int hash, float x, float y, float z ) const;
-    float grad( int hash, float x, float y ) const;
+    float fade( float t ) const noexcept;
+    float lerp( float t, float a, float b ) const noexcept;
+    float grad( int hash, float x, float y, float z ) const noexcept;
+    float grad( int hash, float x, float y ) const noexcept;
 };
 
 #endif
diff --git a/3d-viewer/3d_rendering/3d_render_raytracing/accelerators/cbvh_pbrt.cpp b/3d-viewer/3d_rendering/3d_render_raytracing/accelerators/cbvh_pbrt.cpp
index 8291fb82a3..c8df47a0d3 100644
--- a/3d-viewer/3d_rendering/3d_render_raytracing/accelerators/cbvh_pbrt.cpp
+++ b/3d-viewer/3d_rendering/3d_render_raytracing/accelerators/cbvh_pbrt.cpp
@@ -104,7 +104,7 @@ struct BVHPrimitiveInfo
 struct BVHBuildNode
 {
     // BVHBuildNode Public Methods
-    void InitLeaf( int first, int n, const CBBOX &b)
+    void InitLeaf( int first, int n, const CBBOX &b) noexcept
     {
         firstPrimOffset = first;
         nPrimitives = n;
@@ -346,7 +346,7 @@ CBVH_PBRT::~CBVH_PBRT()
 
 struct ComparePoints
 {
-    explicit ComparePoints(int d) { dim = d; }
+    explicit ComparePoints(int d) noexcept { dim = d; }
 
     int dim;
 
@@ -360,7 +360,7 @@ struct ComparePoints
 
 struct CompareToMid
 {
-    explicit CompareToMid( int d, float m ) { dim = d; mid = m; }
+    explicit CompareToMid( int d, float m ) noexcept { dim = d; mid = m; }
 
     int dim;
     float mid;
@@ -374,7 +374,7 @@ struct CompareToMid
 
 struct CompareToBucket
 {
-    CompareToBucket( int split, int num, int d, const CBBOX &b )
+    CompareToBucket( int split, int num, int d, const CBBOX &b ) noexcept
         : centroidBounds(b)
     { splitBucket = split; nBuckets = num; dim = d; }
 
@@ -406,7 +406,7 @@ bool CompareToBucket::operator()( const BVHPrimitiveInfo &p ) const
 
 struct HLBVH_SAH_Evaluator
 {
-    HLBVH_SAH_Evaluator( int split, int num, int d, const CBBOX &b )
+    HLBVH_SAH_Evaluator( int split, int num, int d, const CBBOX &b ) noexcept
         : centroidBounds(b)
     { minCostSplitBucket = split; nBuckets = num; dim = d; }
 
diff --git a/3d-viewer/3d_rendering/3d_render_raytracing/accelerators/ccontainer.h b/3d-viewer/3d_rendering/3d_render_raytracing/accelerators/ccontainer.h
index 59b5377223..d55267ca76 100644
--- a/3d-viewer/3d_rendering/3d_render_raytracing/accelerators/ccontainer.h
+++ b/3d-viewer/3d_rendering/3d_render_raytracing/accelerators/ccontainer.h
@@ -60,11 +60,11 @@ public:
 
     void Clear();
 
-    const LIST_OBJECT &GetList() const { return m_objects; }
+    const LIST_OBJECT &GetList() const noexcept { return m_objects; }
 
     void ConvertTo( CONST_VECTOR_OBJECT &aOutVector ) const;
 
-    const CBBOX &GetBBox() const { return m_bbox; }
+    const CBBOX &GetBBox() const noexcept { return m_bbox; }
 
     virtual bool Intersect( const RAY &aRay, HITINFO &aHitInfo ) const = 0;
     virtual bool IntersectP( const RAY &aRay, float aMaxDistance ) const = 0;
diff --git a/3d-viewer/3d_rendering/3d_render_raytracing/accelerators/ccontainer2d.cpp b/3d-viewer/3d_rendering/3d_render_raytracing/accelerators/ccontainer2d.cpp
index eef660b802..6643235c53 100644
--- a/3d-viewer/3d_rendering/3d_render_raytracing/accelerators/ccontainer2d.cpp
+++ b/3d-viewer/3d_rendering/3d_render_raytracing/accelerators/ccontainer2d.cpp
@@ -148,7 +148,7 @@ bool CCONTAINER2D::IsPointInside( const SFVEC2F &aPoint ) const
 */
 
 void CCONTAINER2D::GetListObjectsIntersects( const CBBOX2D & aBBox,
-                                             CONST_LIST_OBJECT2D &aOutList ) const
+                                             CONST_LIST_OBJECT2D &aOutList ) const noexcept
 {
     // !TODO:
 }
diff --git a/3d-viewer/3d_rendering/3d_render_raytracing/accelerators/ccontainer2d.h b/3d-viewer/3d_rendering/3d_render_raytracing/accelerators/ccontainer2d.h
index 54b660afc3..2dc8fc7fb1 100644
--- a/3d-viewer/3d_rendering/3d_render_raytracing/accelerators/ccontainer2d.h
+++ b/3d-viewer/3d_rendering/3d_render_raytracing/accelerators/ccontainer2d.h
@@ -61,7 +61,7 @@ public:
 
     void Clear();
 
-    const LIST_OBJECT2D &GetList() const { return m_objects; }
+    const LIST_OBJECT2D &GetList() const noexcept { return m_objects; }
 
     /**
      * @brief GetListObjectsIntersects - Get a list of objects that intersects a bbox
@@ -83,7 +83,7 @@ public:
 
     // Imported from CGENERICCONTAINER2D
     void GetListObjectsIntersects( const CBBOX2D & aBBox,
-                                   CONST_LIST_OBJECT2D &aOutList ) const override;
+                                   CONST_LIST_OBJECT2D &aOutList ) const noexcept override;
 };
 
 
diff --git a/3d-viewer/3d_rendering/3d_render_raytracing/c3d_render_raytracing.cpp b/3d-viewer/3d_rendering/3d_render_raytracing/c3d_render_raytracing.cpp
index b059cfeaf3..c394fe868c 100644
--- a/3d-viewer/3d_rendering/3d_render_raytracing/c3d_render_raytracing.cpp
+++ b/3d-viewer/3d_rendering/3d_render_raytracing/c3d_render_raytracing.cpp
@@ -91,13 +91,13 @@ C3D_RENDER_RAYTRACING::~C3D_RENDER_RAYTRACING()
 }
 
 
-int C3D_RENDER_RAYTRACING::GetWaitForEditingTimeOut()
+int C3D_RENDER_RAYTRACING::GetWaitForEditingTimeOut() noexcept
 {
     return 1000; // ms
 }
 
 
-void C3D_RENDER_RAYTRACING::opengl_delete_pbo()
+void C3D_RENDER_RAYTRACING::opengl_delete_pbo() noexcept
 {
     // Delete PBO if it was created
     if( m_opengl_support_vertex_buffer_object )
@@ -140,7 +140,7 @@ void C3D_RENDER_RAYTRACING::restart_render_state()
 }
 
 
-static inline void SetPixel( GLubyte *p, const CCOLORRGB &v )
+static inline void SetPixel( GLubyte *p, const CCOLORRGB &v ) noexcept
 {
     p[0] = v.c[0]; p[1] = v.c[1]; p[2] = v.c[2]; p[3] = 255;
 }
@@ -2066,7 +2066,7 @@ void C3D_RENDER_RAYTRACING::opengl_init_pbo()
 }
 
 
-bool C3D_RENDER_RAYTRACING::initializeOpenGL()
+bool C3D_RENDER_RAYTRACING::initializeOpenGL() noexcept
 {
     m_is_opengl_initialized = true;
 
diff --git a/3d-viewer/3d_rendering/3d_render_raytracing/c3d_render_raytracing.h b/3d-viewer/3d_rendering/3d_render_raytracing/c3d_render_raytracing.h
index 4f5b417755..1801f743d6 100644
--- a/3d-viewer/3d_rendering/3d_render_raytracing/c3d_render_raytracing.h
+++ b/3d-viewer/3d_rendering/3d_render_raytracing/c3d_render_raytracing.h
@@ -67,13 +67,13 @@ public:
     void SetCurWindowSize( const wxSize &aSize ) override;
     bool Redraw(bool aIsMoving, REPORTER *aStatusTextReporter ) override;
 
-    int GetWaitForEditingTimeOut() override;
+    int GetWaitForEditingTimeOut() noexcept override;
 
 private:
-    bool initializeOpenGL();
+    bool initializeOpenGL() noexcept;
     void initializeNewWindowSize();
     void opengl_init_pbo();
-    void opengl_delete_pbo();
+    void opengl_delete_pbo() noexcept;
     void reload( REPORTER *aStatusTextReporter );
 
     void restart_render_state();
diff --git a/3d-viewer/3d_rendering/3d_render_raytracing/clight.h b/3d-viewer/3d_rendering/3d_render_raytracing/clight.h
index 024277b434..12166190a3 100644
--- a/3d-viewer/3d_rendering/3d_render_raytracing/clight.h
+++ b/3d-viewer/3d_rendering/3d_render_raytracing/clight.h
@@ -54,8 +54,8 @@ public:
                                      SFVEC3F &aOutLightColor,
                                      float &aOutDistance ) const = 0;
 
-    void SetCastShadows( bool aCastShadow ) { m_castShadow = aCastShadow; }
-    bool GetCastShadows() const { return m_castShadow; }
+    void SetCastShadows( bool aCastShadow ) noexcept { m_castShadow = aCastShadow; }
+    bool GetCastShadows() const noexcept { return m_castShadow; }
 
 protected:
     bool m_castShadow;
@@ -133,7 +133,7 @@ public:
     void GetLightParameters( const SFVEC3F &aHitPoint,
                              SFVEC3F &aOutVectorToLight,
                              SFVEC3F &aOutLightColor,
-                             float &aOutDistance ) const override
+                             float &aOutDistance ) const noexcept override
     {
         (void)aHitPoint; // unused
 
@@ -193,7 +193,7 @@ public:
      * @brief GetList - get light list of this container
      * @return a list of lights
      */
-    const LIST_LIGHT &GetList() const { return m_lights; }
+    const LIST_LIGHT &GetList() const noexcept { return m_lights; }
 
 private:
     LIST_LIGHT m_lights;    ///< list of lights
diff --git a/3d-viewer/3d_rendering/3d_render_raytracing/cmaterial.h b/3d-viewer/3d_rendering/3d_render_raytracing/cmaterial.h
index 3f7f907bec..ac6c6b3555 100644
--- a/3d-viewer/3d_rendering/3d_render_raytracing/cmaterial.h
+++ b/3d-viewer/3d_rendering/3d_render_raytracing/cmaterial.h
@@ -175,28 +175,28 @@ public:
                float aTransparency,
                float aReflection );
 
-    const SFVEC3F &GetAmbientColor()  const { return m_ambientColor; }
-    const SFVEC3F &GetEmissiveColor() const { return m_emissiveColor; }
-    const SFVEC3F &GetSpecularColor() const { return m_specularColor; }
+    const SFVEC3F &GetAmbientColor()  const noexcept { return m_ambientColor; }
+    const SFVEC3F &GetEmissiveColor() const noexcept { return m_emissiveColor; }
+    const SFVEC3F &GetSpecularColor() const noexcept { return m_specularColor; }
 
-    float GetShinness()     const { return m_shinness; }
-    float GetTransparency() const { return m_transparency; }
-    float GetReflection()   const { return m_reflection; }
-    float GetAbsorvance()   const { return m_absorbance; }
-    unsigned int GetNrRefractionsSamples() const { return m_refraction_nr_samples; }
-    unsigned int GetNrReflectionsSamples() const { return m_reflections_nr_samples; }
+    float GetShinness()     const noexcept { return m_shinness; }
+    float GetTransparency() const noexcept { return m_transparency; }
+    float GetReflection()   const noexcept { return m_reflection; }
+    float GetAbsorvance()   const noexcept { return m_absorbance; }
+    unsigned int GetNrRefractionsSamples() const noexcept { return m_refraction_nr_samples; }
+    unsigned int GetNrReflectionsSamples() const noexcept { return m_reflections_nr_samples; }
 
-    void SetAbsorvance( float aAbsorvanceFactor ) { m_absorbance = aAbsorvanceFactor; }
-    void SetNrRefractionsSamples( unsigned int aNrRefractions ) { m_refraction_nr_samples = aNrRefractions; }
-    void SetNrReflectionsSamples( unsigned int aNrReflections ) { m_reflections_nr_samples = aNrReflections; }
+    void SetAbsorvance( float aAbsorvanceFactor ) noexcept { m_absorbance = aAbsorvanceFactor; }
+    void SetNrRefractionsSamples( unsigned int aNrRefractions ) noexcept { m_refraction_nr_samples = aNrRefractions; }
+    void SetNrReflectionsSamples( unsigned int aNrReflections ) noexcept { m_reflections_nr_samples = aNrReflections; }
 
     /**
      * @brief SetCastShadows - Set if the material can receive shadows
      * @param aCastShadows - true yes it can, false not it cannot
      */
-    void SetCastShadows( bool aCastShadows ) { m_cast_shadows = aCastShadows; }
+    void SetCastShadows( bool aCastShadows ) noexcept { m_cast_shadows = aCastShadows; }
 
-    bool GetCastShadows() const { return m_cast_shadows; }
+    bool GetCastShadows() const noexcept { return m_cast_shadows; }
 
     /**
      * @brief Shade - Shades an intersection point
@@ -217,8 +217,8 @@ public:
                            const SFVEC3F &aLightColor,
                            float aShadowAttenuationFactor ) const = 0;
 
-    void SetNormalPerturbator( const CPROCEDURALGENERATOR *aPerturbator ) { m_normal_perturbator = aPerturbator; }
-    const CPROCEDURALGENERATOR *GetNormalPerturbator() const { return m_normal_perturbator; }
+    void SetNormalPerturbator( const CPROCEDURALGENERATOR *aPerturbator ) noexcept { m_normal_perturbator = aPerturbator; }
+    const CPROCEDURALGENERATOR *GetNormalPerturbator() const noexcept { return m_normal_perturbator; }
 
     void PerturbeNormal( SFVEC3F &aNormal, const RAY &aRay, const HITINFO &aHitInfo ) const;
 
diff --git a/3d-viewer/3d_rendering/3d_render_raytracing/mortoncodes.cpp b/3d-viewer/3d_rendering/3d_render_raytracing/mortoncodes.cpp
index 05520b47c5..6ba1c875d8 100644
--- a/3d-viewer/3d_rendering/3d_render_raytracing/mortoncodes.cpp
+++ b/3d-viewer/3d_rendering/3d_render_raytracing/mortoncodes.cpp
@@ -32,7 +32,7 @@
 
 
 // "Insert" a 0 bit after each of the 16 low bits of x
-uint32_t Part1By1( uint32_t x )
+uint32_t Part1By1( uint32_t x ) noexcept
 {
   x &= 0x0000ffff;                  // x = ---- ---- ---- ---- fedc ba98 7654 3210
   x = (x ^ (x <<  8)) & 0x00ff00ff; // x = ---- ---- fedc ba98 ---- ---- 7654 3210
@@ -45,7 +45,7 @@ uint32_t Part1By1( uint32_t x )
 
 
 // "Insert" two 0 bits after each of the 10 low bits of x
-uint32_t Part1By2( uint32_t x )
+uint32_t Part1By2( uint32_t x ) noexcept
 {
   x &= 0x000003ff;                  // x = ---- ---- ---- ---- ---- --98 7654 3210
   x = (x ^ (x << 16)) & 0xff0000ff; // x = ---- --98 ---- ---- ---- ---- 7654 3210
@@ -58,7 +58,7 @@ uint32_t Part1By2( uint32_t x )
 
 
 // Inverse of Part1By1 - "delete" all odd-indexed bits
-uint32_t Compact1By1( uint32_t x )
+uint32_t Compact1By1( uint32_t x ) noexcept
 {
   x &= 0x55555555;                  // x = -f-e -d-c -b-a -9-8 -7-6 -5-4 -3-2 -1-0
   x = (x ^ (x >>  1)) & 0x33333333; // x = --fe --dc --ba --98 --76 --54 --32 --10
@@ -71,7 +71,7 @@ uint32_t Compact1By1( uint32_t x )
 
 
 // Inverse of Part1By2 - "delete" all bits not at positions divisible by 3
-uint32_t Compact1By2( uint32_t x )
+uint32_t Compact1By2( uint32_t x ) noexcept
 {
   x &= 0x09249249;                  // x = ---- 9--8 --7- -6-- 5--4 --3- -2-- 1--0
   x = (x ^ (x >>  2)) & 0x030c30c3; // x = ---- --98 ---- 76-- --54 ---- 32-- --10
diff --git a/3d-viewer/3d_rendering/3d_render_raytracing/ray.cpp b/3d-viewer/3d_rendering/3d_render_raytracing/ray.cpp
index a4826d69a7..eea8a035b6 100644
--- a/3d-viewer/3d_rendering/3d_render_raytracing/ray.cpp
+++ b/3d-viewer/3d_rendering/3d_render_raytracing/ray.cpp
@@ -395,7 +395,7 @@ bool RAYSEG2D::IntersectCircle( const SFVEC2F &aCenter,
 }
 
 
-void RAY::debug() const
+void RAY::debug() const noexcept
 {
     printf("O(%f, %f, %f) D(%f, %f, %f)\n", m_Origin.x, m_Origin.y, m_Origin.z,
                                             m_Dir.x,    m_Dir.y,    m_Dir.z );
diff --git a/3d-viewer/3d_rendering/3d_render_raytracing/ray.h b/3d-viewer/3d_rendering/3d_render_raytracing/ray.h
index d20685e0bd..0d86894247 100644
--- a/3d-viewer/3d_rendering/3d_render_raytracing/ray.h
+++ b/3d-viewer/3d_rendering/3d_render_raytracing/ray.h
@@ -67,7 +67,7 @@ struct RAY
     SFVEC2F at2D( float t ) const {
         return SFVEC2F( m_Origin.x + m_Dir.x * t, m_Origin.y + m_Dir.y * t ); }
 
-    void debug() const;
+    void debug() const noexcept;
 };
 
 
diff --git a/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/cbbox2d.cpp b/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/cbbox2d.cpp
index 2d32fa42e0..cc91420153 100644
--- a/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/cbbox2d.cpp
+++ b/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/cbbox2d.cpp
@@ -58,7 +58,7 @@ CBBOX2D::~CBBOX2D()
 }
 
 
-void CBBOX2D::Set( const SFVEC2F &aPbMin, const SFVEC2F &aPbMax )
+void CBBOX2D::Set( const SFVEC2F &aPbMin, const SFVEC2F &aPbMax ) noexcept
 {
     m_min.x =  fminf( aPbMin.x, aPbMax.x );
     m_min.y =  fminf( aPbMin.y, aPbMax.y );
@@ -76,7 +76,7 @@ void CBBOX2D::Set( const CBBOX2D &aBBox )
 }
 
 
-bool CBBOX2D::IsInitialized() const
+bool CBBOX2D::IsInitialized() const noexcept
 {
     return !( ( FLT_MAX == m_min.x) ||
               ( FLT_MAX == m_min.y) ||
@@ -92,7 +92,7 @@ void CBBOX2D::Reset()
 }
 
 
-void CBBOX2D::Union( const SFVEC2F &aPoint )
+void CBBOX2D::Union( const SFVEC2F &aPoint ) noexcept
 {
     // get the minimun value between the added point and the existent bounding box
     m_min.x =  fminf( m_min.x, aPoint.x );
@@ -104,7 +104,7 @@ void CBBOX2D::Union( const SFVEC2F &aPoint )
 }
 
 
-void CBBOX2D::Union( const CBBOX2D &aBBox )
+void CBBOX2D::Union( const CBBOX2D &aBBox ) noexcept
 {
     // get the minimun value between the added bounding box and
     // the existent bounding box
diff --git a/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/cbbox2d.h b/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/cbbox2d.h
index 93656db510..d89db1d65e 100644
--- a/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/cbbox2d.h
+++ b/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/cbbox2d.h
@@ -72,7 +72,7 @@ public:
      * @param aPbMin the minimun point to initialize the bounding box
      * @param aPbMax the maximun point to initialize the bounding box
      */
-    void Set( const SFVEC2F &aPbMin, const SFVEC2F &aPbMax );
+    void Set( const SFVEC2F &aPbMin, const SFVEC2F &aPbMax ) noexcept;
 
     /**
      * Function Set
@@ -86,14 +86,14 @@ public:
      * recalculate the bounding box adding a point
      * @param aPoint the point to be bounded
      */
-    void Union( const SFVEC2F &aPoint );
+    void Union( const SFVEC2F &aPoint ) noexcept;
 
     /**
      * Function Union
      * recalculate the bounding box adding other bounding box
      * @param aBBox the bounding box to be bounded
      */
-    void Union( const CBBOX2D &aBBox );
+    void Union( const CBBOX2D &aBBox ) noexcept;
 
     /**
      * Function Scale
@@ -147,7 +147,7 @@ public:
      * check if this bounding box is already initialized
      * @return bool - return true if it was initialized, false if otherwise
      */
-    bool IsInitialized() const;
+    bool IsInitialized() const noexcept;
 
     /**
      * Function Reset
@@ -173,14 +173,14 @@ public:
      * return the minimun vertex pointer
      * @return SFVEC2F - the minimun vertice position
      */
-    const SFVEC2F &Min() const { return m_min; }
+    const SFVEC2F &Min() const noexcept { return m_min; }
 
     /**
      * Function Max
      * return the maximum vertex pointer
      * @return SFVEC2F - the maximun vertice position
      */
-    const SFVEC2F &Max() const { return m_max; }
+    const SFVEC2F &Max() const noexcept { return m_max; }
 
 
     /**
diff --git a/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/cfilledcircle2d.cpp b/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/cfilledcircle2d.cpp
index f5adbb4b80..2353781fb6 100644
--- a/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/cfilledcircle2d.cpp
+++ b/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/cfilledcircle2d.cpp
@@ -52,7 +52,7 @@ CFILLEDCIRCLE2D::CFILLEDCIRCLE2D( const SFVEC2F &aCenter,
 }
 
 
-bool CFILLEDCIRCLE2D::Overlaps( const CBBOX2D &aBBox ) const
+bool CFILLEDCIRCLE2D::Overlaps( const CBBOX2D &aBBox ) const noexcept
 {
     // NOT IMPLEMENTED
     return false;
diff --git a/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/cfilledcircle2d.h b/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/cfilledcircle2d.h
index fde32ad23e..8261eba592 100644
--- a/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/cfilledcircle2d.h
+++ b/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/cfilledcircle2d.h
@@ -35,9 +35,9 @@
 class  CFILLEDCIRCLE2D : public COBJECT2D
 {
 public:
-    float GetRadius() const { return m_radius; }
-    const SFVEC2F &GetCenter() const { return m_center; }
-    float GetRadiusSquared() const { return m_radius_squared; }
+    float GetRadius() const noexcept { return m_radius; }
+    const SFVEC2F &GetCenter() const noexcept { return m_center; }
+    float GetRadiusSquared() const noexcept { return m_radius_squared; }
 
 private:
     SFVEC2F m_center;
@@ -48,7 +48,7 @@ public:
     CFILLEDCIRCLE2D( const SFVEC2F &aCenter, float aRadius, const BOARD_ITEM &aBoardItem );
 
     // Imported from COBJECT2D
-    bool Overlaps( const CBBOX2D &aBBox ) const override;
+    bool Overlaps( const CBBOX2D &aBBox ) const noexcept override;
     bool Intersects( const CBBOX2D &aBBox ) const override;
     bool Intersect( const RAYSEG2D &aSegRay, float *aOutT, SFVEC2F *aNormalOut ) const override;
     INTERSECTION_RESULT IsBBoxInside( const CBBOX2D &aBBox ) const override;
diff --git a/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/citemlayercsg2d.cpp b/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/citemlayercsg2d.cpp
index b419c6e0cc..c3a18ec3e0 100644
--- a/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/citemlayercsg2d.cpp
+++ b/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/citemlayercsg2d.cpp
@@ -70,7 +70,7 @@ bool CITEMLAYERCSG2D::Intersects( const CBBOX2D &aBBox ) const
 }
 
 
-bool CITEMLAYERCSG2D::Overlaps( const CBBOX2D &aBBox ) const
+bool CITEMLAYERCSG2D::Overlaps( const CBBOX2D &aBBox ) const noexcept
 {
     // NOT IMPLEMENTED
     return false;
@@ -182,7 +182,7 @@ bool CITEMLAYERCSG2D::Intersect( const RAYSEG2D &aSegRay,
 }
 
 
-INTERSECTION_RESULT CITEMLAYERCSG2D::IsBBoxInside( const CBBOX2D &aBBox ) const
+INTERSECTION_RESULT CITEMLAYERCSG2D::IsBBoxInside( const CBBOX2D &aBBox ) const noexcept
 {
 
     // !TODO:
diff --git a/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/citemlayercsg2d.h b/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/citemlayercsg2d.h
index 53f036ea2a..93971c8a00 100644
--- a/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/citemlayercsg2d.h
+++ b/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/citemlayercsg2d.h
@@ -91,10 +91,10 @@ public:
     ~CITEMLAYERCSG2D();
 
     // Imported from COBJECT2D
-    bool Overlaps( const CBBOX2D &aBBox ) const override;
+    bool Overlaps( const CBBOX2D &aBBox ) const noexcept override;
     bool Intersects( const CBBOX2D &aBBox ) const override;
     bool Intersect( const RAYSEG2D &aSegRay, float *aOutT, SFVEC2F *aNormalOut ) const override;
-    INTERSECTION_RESULT IsBBoxInside( const CBBOX2D &aBBox ) const override;
+    INTERSECTION_RESULT IsBBoxInside( const CBBOX2D &aBBox ) const noexcept override;
     bool IsPointInside( const SFVEC2F &aPoint ) const override;
 };
 
diff --git a/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/cobject2d.cpp b/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/cobject2d.cpp
index e8c9c759d8..f467c13f4c 100644
--- a/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/cobject2d.cpp
+++ b/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/cobject2d.cpp
@@ -57,7 +57,7 @@ static const char *OBJECT2D_STR[OBJ2D_MAX] =
 };
 
 
-void COBJECT2D_STATS::PrintStats()
+void COBJECT2D_STATS::PrintStats() noexcept
 {
     printf( "OBJ2D Statistics:\n" );
 
diff --git a/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/cobject2d.h b/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/cobject2d.h
index 0bcc769acc..a63a7cedd6 100644
--- a/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/cobject2d.h
+++ b/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/cobject2d.h
@@ -118,7 +118,7 @@ public:
 
     virtual bool IsPointInside( const SFVEC2F &aPoint ) const = 0;
 
-    const CBBOX2D &GetBBox() const { return m_bbox; }
+    const CBBOX2D &GetBBox() const noexcept { return m_bbox; }
 
     const SFVEC2F &GetCentroid() const { return m_centroid; }
 
@@ -141,7 +141,7 @@ public:
 
     void AddOne( OBJECT2D_TYPE aObjType ) { m_counter[aObjType]++; }
 
-    void PrintStats();
+    void PrintStats() noexcept;
 
     static COBJECT2D_STATS &Instance()
     {

Follow ups

References