'''
Created on 20-Jan-2022

@author: bthakur
'''

import os
import codecs
import inspect
import traceback
import random

from xv.util import UtilClass

# _geometry_helper
# GeometryHelper


class GeometryHelper(UtilClass):
    
    def __init__(self, **kwargs):
        super().__init__(**kwargs)

        self._area_calc_helper = None
        self._area_helper = None
        self._volume_helper = None
        self._basic_geometry_helper = None
        self._circle_helper = None
        self._geometrical_shape_helper = None
        self._geometry_3d_helper = None
        self._polygon_helper = None
        self._popular_shapes_helper = None
        self._triangle_helper = None
        
        self._kwargs = kwargs
        pass


    def get_area_calc_helper(self):
        if self._area_calc_helper is None:
            self._init_area_calc_helper(**self._kwargs)
        return self._area_calc_helper
        pass

    def _init_area_calc_helper(self, **kwargs):  
        from ._area_calc_helper import AreaCalcHelper
        self._area_calc_helper = AreaCalcHelper(**kwargs) 
        pass
   

    def get_area_helper(self):
        if self._area_helper is None:
            self._init_area_helper(**self._kwargs)
        return self._area_helper
        pass

    def _init_area_helper(self, **kwargs):  
        from ._area_helper import AreaHelper
        self._area_helper = AreaHelper(**kwargs) 
        pass
   
    def get_volume_helper(self):
        if self._volume_helper is None:
            self._init_volume_helper(**self._kwargs)
        return self._volume_helper
        pass

    def _init_volume_helper(self, **kwargs):  
        from ._volume_helper import VolumeHelper
        self._volume_helper = VolumeHelper(**kwargs) 
        pass
   

    def get_basic_geometry_helper(self):
        if self._basic_geometry_helper is None:
            self._init_basic_geometry_helper(**self._kwargs)
        return self._basic_geometry_helper
        pass

    def _init_basic_geometry_helper(self, **kwargs):  
        from ._basic_geometry_helper import BasicGeometryHelper
        self._basic_geometry_helper = BasicGeometryHelper(**kwargs) 
        pass
   

    def get_circle_helper(self):
        if self._circle_helper is None:
            self._init_circle_helper(**self._kwargs)
        return self._circle_helper
        pass

    def _init_circle_helper(self, **kwargs):  
        from ._circle_helper import CircleHelper
        self._circle_helper = CircleHelper(**kwargs) 
        pass
   

    def get_geometrical_shape_helper(self):
        if self._geometrical_shape_helper is None:
            self._init_geometrical_shape_helper(**self._kwargs)
        return self._geometrical_shape_helper
        pass

    def _init_geometrical_shape_helper(self, **kwargs):  
        from ._geometrical_shape_helper import GeometricalShapeHelper
        self._geometrical_shape_helper = GeometricalShapeHelper(**kwargs) 
        pass
   
    def get_geometry_3d_helper(self):
        if self._geometry_3d_helper is None:
            self._init_geometry_3d_helper(**self._kwargs)
        return self._geometry_3d_helper
        pass

    def _init_geometry_3d_helper(self, **kwargs):  
        from ._geometry_3d_helper import Geometry3dHelper
        self._geometry_3d_helper = Geometry3dHelper(**kwargs) 
        pass


    def get_polygon_helper(self):
        if self._polygon_helper is None:
            self._init_polygon_helper(**self._kwargs)
        return self._polygon_helper
        pass

    def _init_polygon_helper(self, **kwargs):  
        from ._polygon_helper import PolygonHelper
        self._polygon_helper = PolygonHelper(**kwargs) 
        pass

   
    def get_popular_shapes_helper(self):
        if self._popular_shapes_helper is None:
            self._init_popular_shapes_helper(**self._kwargs)
        return self._popular_shapes_helper
        pass

    def _init_popular_shapes_helper(self, **kwargs):  
        from ._popular_shapes_helper import PopularShapesHelper
        self._popular_shapes_helper = PopularShapesHelper(**kwargs) 
        pass
            

    def get_triangle_helper(self):
        if self._triangle_helper is None:
            self._init_triangle_helper(**self._kwargs)
        return self._triangle_helper
        pass

    def _init_triangle_helper(self, **kwargs):  
        from ._triangle_helper import TriangleHelper
        self._triangle_helper = TriangleHelper(**kwargs) 
        pass

   
    pass
#class GeometryHelper:
