# Path: lasercut/helper.py
# class ObjectProperties(object):
#     def __init__(self, **kwargs):
#         self.obj_class = str(type(self).__name__)
#         for k, v in kwargs.items():
#             if not hasattr(self, "_allowed") or str(k) in self._allowed:
#                 setattr(self, k, v)
#             #else:
#             #    FreeCAD.Console.PrintWarning(str(k) + " is not allowed for " + str(type(self)))


from lasercut.helper import ObjectProperties
import math
# *                                                                         *
# *   This module is distributed in the hope that it will be useful,       *
# *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
# *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
# *   Lesser General Public License for more details.                       *
# *                                                                         *
# *   You should have received a copy of the GNU Lesser General Public      *
# *   License along with this library; if not, write to the Free Software   *
# *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,            *
# *   MA  02110-1301  USA                                                   *
# *                                                                         *
# ***************************************************************************



class RoundedBoxProperties(ObjectProperties):

    _allowed = ('nb_face', 'inradius', 'height', 'side_length', 'max_side_length', 'thickness', 'cut')

    def __init__(self, **kwargs):
        super(RoundedBoxProperties, self).__init__(**kwargs)
        if not hasattr(self, 'nb_face'):
            self.nb_face = int(5)
        if not hasattr(self, 'inradius'):
            self.inradius = 50.
        if not hasattr(self, 'height'):
            self.height = 30.
        if not hasattr(self, 'thickness'):
            self.thickness = 3.
        if not hasattr(self, 'cut_nb'):

# Path: lasercut/helper.py
# class ObjectProperties(object):
#     def __init__(self, **kwargs):
#         self.obj_class = str(type(self).__name__)
#         for k, v in kwargs.items():
#             if not hasattr(self, "_allowed") or str(k) in self._allowed:
#                 setattr(self, k, v)
#             #else:
#             #    FreeCAD.Console.PrintWarning(str(k) + " is not allowed for " + str(type(self)))


# Path: lasercut/roundedboxproperties.py
from lasercut.helper import ObjectProperties
import math

# *                                                                         *
# *   This module is distributed in the hope that it will be useful,       *
# *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
# *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
# *   Lesser General Public License for more details.                       *
# *                                                                         *
# *   You should have received a copy of the GNU Lesser General Public      *
# *   License along with this library; if not, write to the Free Software   *
# *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,            *
# *   MA  02110-1301  USA                                                   *
# *                                                                         *
# ***************************************************************************



class RoundedBoxProperties(ObjectProperties):

    _allowed = ('nb_face', 'inradius', 'height', 'side_length', 'max_side_length', 'thickness', 'cut')

    def __init__(self, **kwargs):
        super(RoundedBoxProperties, self).__init__(**kwargs)
        if not hasattr(self, 'nb_face'):
            self.nb_face = int(5)
        if not hasattr(self, 'inradius'):
            self.inradius = 50.
        if not hasattr(self, 'height'):
            self.height = 30.
        if not hasattr(self, 'thickness'):
            self.thickness = 3.
        if not hasattr(self, 'cut_nb'):

            self.cut = int(0)