LCOV - code coverage report
Current view: top level - pencil/include/geometry - geometry_grid.inl (source / functions) Hit Total Coverage
Test: crystal-facet-uml_v1.65.6_covts Lines: 41 41 100.0 %
Date: 2025-09-25 21:07:53 Functions: 9 9 100.0 %

          Line data    Source code
       1             : /* File: geometry_grid.inl; Copyright and License: see below */
       2             : 
       3             : #include "u8/u8_trace.h"
       4             : #include "u8/u8_log.h"
       5             : #include <assert.h>
       6             : #include <stdbool.h>
       7             : 
       8           1 : static inline void geometry_grid_init ( geometry_grid_t *this_, geometry_grid_kind_t kind )
       9             : {
      10           1 :     (*this_).kind = kind;
      11           1 :     geometry_non_linear_scale_init( &((*this_).x_scale), 0.0, 640.0 );
      12           1 :     geometry_non_linear_scale_init( &((*this_).y_scale), 0.0, 480.0 );
      13           1 : }
      14             : 
      15           5 : static inline void geometry_grid_reinit ( geometry_grid_t *this_, geometry_grid_kind_t kind )
      16             : {
      17           5 :     (*this_).kind = kind;
      18           5 :     geometry_non_linear_scale_init( &((*this_).x_scale), 0.0, 640.0 );
      19           5 :     geometry_non_linear_scale_init( &((*this_).y_scale), 0.0, 480.0 );
      20           5 : }
      21             : 
      22           1 : static inline void geometry_grid_destroy ( geometry_grid_t *this_ )
      23             : {
      24           1 : }
      25             : 
      26           4 : static inline void geometry_grid_trace ( const geometry_grid_t *this_ )
      27             : {
      28           4 :     switch ( (*this_).kind )
      29             :     {
      30           1 :         case GEOMETRY_GRID_KIND_0:
      31             :         default:
      32             :         {
      33           1 :             U8_TRACE_INFO( "geometry_grid_t: GEOMETRY_GRID_KIND_0" );
      34             :         }
      35           1 :         break;
      36             : 
      37           1 :         case GEOMETRY_GRID_KIND_X:
      38             :         {
      39           1 :             U8_TRACE_INFO( "geometry_grid_t: GEOMETRY_GRID_KIND_X" );
      40           1 :             geometry_non_linear_scale_trace( &((*this_).x_scale) );
      41             :         }
      42           1 :         break;
      43             : 
      44           1 :         case GEOMETRY_GRID_KIND_Y:
      45             :         {
      46           1 :             U8_TRACE_INFO( "geometry_grid_t: GEOMETRY_GRID_KIND_Y" );
      47           1 :             geometry_non_linear_scale_trace( &((*this_).y_scale) );
      48             :         }
      49           1 :         break;
      50             : 
      51           1 :         case GEOMETRY_GRID_KIND_XY:
      52             :         {
      53           1 :             U8_TRACE_INFO( "geometry_grid_t: GEOMETRY_GRID_KIND_XY" );
      54           1 :             geometry_non_linear_scale_trace( &((*this_).x_scale) );
      55           1 :             geometry_non_linear_scale_trace( &((*this_).y_scale) );
      56             :         }
      57           1 :         break;
      58             :     }
      59           4 : }
      60             : 
      61           1 : static inline geometry_grid_kind_t geometry_grid_get_kind ( const geometry_grid_t *this_ )
      62             : {
      63           1 :     return (*this_).kind;
      64             : }
      65             : 
      66           1 : static inline geometry_non_linear_scale_t * geometry_grid_get_x_scale_ptr ( geometry_grid_t *this_ )
      67             : {
      68           1 :     return &((*this_).x_scale);
      69             : }
      70             : 
      71           1 : static inline const geometry_non_linear_scale_t * geometry_grid_get_x_scale_const ( const geometry_grid_t *this_ )
      72             : {
      73           1 :     return &((*this_).x_scale);
      74             : }
      75             : 
      76           1 : static inline geometry_non_linear_scale_t * geometry_grid_get_y_scale_ptr ( geometry_grid_t *this_ )
      77             : {
      78           1 :     return &((*this_).y_scale);
      79             : }
      80             : 
      81           1 : static inline const geometry_non_linear_scale_t * geometry_grid_get_y_scale_const ( const geometry_grid_t *this_ )
      82             : {
      83           1 :     return &((*this_).y_scale);
      84             : }
      85             : 
      86             : 
      87             : /*
      88             : Copyright 2024-2025 Andreas Warnke
      89             : 
      90             : Licensed under the Apache License, Version 2.0 (the "License");
      91             : you may not use this file except in compliance with the License.
      92             : You may obtain a copy of the License at
      93             : 
      94             :     http://www.apache.org/licenses/LICENSE-2.0
      95             : 
      96             : Unless required by applicable law or agreed to in writing, software
      97             : distributed under the License is distributed on an "AS IS" BASIS,
      98             : WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
      99             : See the License for the specific language governing permissions and
     100             : limitations under the License.
     101             : */

Generated by: LCOV version 1.16