# This file was created automatically by SWIG.
# Don't modify this file, modify the SWIG interface instead.
# This file is compatible with both classic and new-style classes.

import _glm

def _swig_setattr(self,class_type,name,value):
    if (name == "this"):
        if isinstance(value, class_type):
            self.__dict__[name] = value.this
            if hasattr(value,"thisown"): self.__dict__["thisown"] = value.thisown
            del value.thisown
            return
    method = class_type.__swig_setmethods__.get(name,None)
    if method: return method(self,value)
    self.__dict__[name] = value

def _swig_getattr(self,class_type,name):
    method = class_type.__swig_getmethods__.get(name,None)
    if method: return method(self)
    raise AttributeError,name

import types
try:
    _object = types.ObjectType
    _newclass = 1
except AttributeError:
    class _object : pass
    _newclass = 0
del types


M_PI = _glm.M_PI
GLM_NONE = _glm.GLM_NONE
GLM_FLAT = _glm.GLM_FLAT
GLM_SMOOTH = _glm.GLM_SMOOTH
GLM_TEXTURE = _glm.GLM_TEXTURE
GLM_COLOR = _glm.GLM_COLOR
GLM_MATERIAL = _glm.GLM_MATERIAL
class GLMmaterial(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, GLMmaterial, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, GLMmaterial, name)
    def __repr__(self):
        return "<C GLMmaterial instance at %s>" % (self.this,)
    __swig_setmethods__["name"] = _glm.GLMmaterial_name_set
    __swig_getmethods__["name"] = _glm.GLMmaterial_name_get
    if _newclass:name = property(_glm.GLMmaterial_name_get, _glm.GLMmaterial_name_set)
    __swig_setmethods__["diffuse"] = _glm.GLMmaterial_diffuse_set
    __swig_getmethods__["diffuse"] = _glm.GLMmaterial_diffuse_get
    if _newclass:diffuse = property(_glm.GLMmaterial_diffuse_get, _glm.GLMmaterial_diffuse_set)
    __swig_setmethods__["ambient"] = _glm.GLMmaterial_ambient_set
    __swig_getmethods__["ambient"] = _glm.GLMmaterial_ambient_get
    if _newclass:ambient = property(_glm.GLMmaterial_ambient_get, _glm.GLMmaterial_ambient_set)
    __swig_setmethods__["specular"] = _glm.GLMmaterial_specular_set
    __swig_getmethods__["specular"] = _glm.GLMmaterial_specular_get
    if _newclass:specular = property(_glm.GLMmaterial_specular_get, _glm.GLMmaterial_specular_set)
    __swig_setmethods__["emmissive"] = _glm.GLMmaterial_emmissive_set
    __swig_getmethods__["emmissive"] = _glm.GLMmaterial_emmissive_get
    if _newclass:emmissive = property(_glm.GLMmaterial_emmissive_get, _glm.GLMmaterial_emmissive_set)
    __swig_setmethods__["shininess"] = _glm.GLMmaterial_shininess_set
    __swig_getmethods__["shininess"] = _glm.GLMmaterial_shininess_get
    if _newclass:shininess = property(_glm.GLMmaterial_shininess_get, _glm.GLMmaterial_shininess_set)
    def __init__(self, *args):
        _swig_setattr(self, GLMmaterial, 'this', _glm.new_GLMmaterial(*args))
        _swig_setattr(self, GLMmaterial, 'thisown', 1)
    def __del__(self, destroy=_glm.delete_GLMmaterial):
        try:
            if self.thisown: destroy(self)
        except: pass

class GLMmaterialPtr(GLMmaterial):
    def __init__(self, this):
        _swig_setattr(self, GLMmaterial, 'this', this)
        if not hasattr(self,"thisown"): _swig_setattr(self, GLMmaterial, 'thisown', 0)
        _swig_setattr(self, GLMmaterial,self.__class__,GLMmaterial)
_glm.GLMmaterial_swigregister(GLMmaterialPtr)

class GLMtriangle(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, GLMtriangle, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, GLMtriangle, name)
    def __repr__(self):
        return "<C GLMtriangle instance at %s>" % (self.this,)
    __swig_setmethods__["vindices"] = _glm.GLMtriangle_vindices_set
    __swig_getmethods__["vindices"] = _glm.GLMtriangle_vindices_get
    if _newclass:vindices = property(_glm.GLMtriangle_vindices_get, _glm.GLMtriangle_vindices_set)
    __swig_setmethods__["nindices"] = _glm.GLMtriangle_nindices_set
    __swig_getmethods__["nindices"] = _glm.GLMtriangle_nindices_get
    if _newclass:nindices = property(_glm.GLMtriangle_nindices_get, _glm.GLMtriangle_nindices_set)
    __swig_setmethods__["tindices"] = _glm.GLMtriangle_tindices_set
    __swig_getmethods__["tindices"] = _glm.GLMtriangle_tindices_get
    if _newclass:tindices = property(_glm.GLMtriangle_tindices_get, _glm.GLMtriangle_tindices_set)
    __swig_setmethods__["findex"] = _glm.GLMtriangle_findex_set
    __swig_getmethods__["findex"] = _glm.GLMtriangle_findex_get
    if _newclass:findex = property(_glm.GLMtriangle_findex_get, _glm.GLMtriangle_findex_set)
    def __init__(self, *args):
        _swig_setattr(self, GLMtriangle, 'this', _glm.new_GLMtriangle(*args))
        _swig_setattr(self, GLMtriangle, 'thisown', 1)
    def __del__(self, destroy=_glm.delete_GLMtriangle):
        try:
            if self.thisown: destroy(self)
        except: pass

class GLMtrianglePtr(GLMtriangle):
    def __init__(self, this):
        _swig_setattr(self, GLMtriangle, 'this', this)
        if not hasattr(self,"thisown"): _swig_setattr(self, GLMtriangle, 'thisown', 0)
        _swig_setattr(self, GLMtriangle,self.__class__,GLMtriangle)
_glm.GLMtriangle_swigregister(GLMtrianglePtr)

class GLMgroup(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, GLMgroup, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, GLMgroup, name)
    def __repr__(self):
        return "<C GLMgroup instance at %s>" % (self.this,)
    __swig_setmethods__["name"] = _glm.GLMgroup_name_set
    __swig_getmethods__["name"] = _glm.GLMgroup_name_get
    if _newclass:name = property(_glm.GLMgroup_name_get, _glm.GLMgroup_name_set)
    __swig_setmethods__["numtriangles"] = _glm.GLMgroup_numtriangles_set
    __swig_getmethods__["numtriangles"] = _glm.GLMgroup_numtriangles_get
    if _newclass:numtriangles = property(_glm.GLMgroup_numtriangles_get, _glm.GLMgroup_numtriangles_set)
    __swig_setmethods__["triangles"] = _glm.GLMgroup_triangles_set
    __swig_getmethods__["triangles"] = _glm.GLMgroup_triangles_get
    if _newclass:triangles = property(_glm.GLMgroup_triangles_get, _glm.GLMgroup_triangles_set)
    __swig_setmethods__["material"] = _glm.GLMgroup_material_set
    __swig_getmethods__["material"] = _glm.GLMgroup_material_get
    if _newclass:material = property(_glm.GLMgroup_material_get, _glm.GLMgroup_material_set)
    __swig_setmethods__["next"] = _glm.GLMgroup_next_set
    __swig_getmethods__["next"] = _glm.GLMgroup_next_get
    if _newclass:next = property(_glm.GLMgroup_next_get, _glm.GLMgroup_next_set)
    def __init__(self, *args):
        _swig_setattr(self, GLMgroup, 'this', _glm.new_GLMgroup(*args))
        _swig_setattr(self, GLMgroup, 'thisown', 1)
    def __del__(self, destroy=_glm.delete_GLMgroup):
        try:
            if self.thisown: destroy(self)
        except: pass

class GLMgroupPtr(GLMgroup):
    def __init__(self, this):
        _swig_setattr(self, GLMgroup, 'this', this)
        if not hasattr(self,"thisown"): _swig_setattr(self, GLMgroup, 'thisown', 0)
        _swig_setattr(self, GLMgroup,self.__class__,GLMgroup)
_glm.GLMgroup_swigregister(GLMgroupPtr)

class GLMmodel(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, GLMmodel, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, GLMmodel, name)
    def __repr__(self):
        return "<C GLMmodel instance at %s>" % (self.this,)
    __swig_setmethods__["pathname"] = _glm.GLMmodel_pathname_set
    __swig_getmethods__["pathname"] = _glm.GLMmodel_pathname_get
    if _newclass:pathname = property(_glm.GLMmodel_pathname_get, _glm.GLMmodel_pathname_set)
    __swig_setmethods__["mtllibname"] = _glm.GLMmodel_mtllibname_set
    __swig_getmethods__["mtllibname"] = _glm.GLMmodel_mtllibname_get
    if _newclass:mtllibname = property(_glm.GLMmodel_mtllibname_get, _glm.GLMmodel_mtllibname_set)
    __swig_setmethods__["numvertices"] = _glm.GLMmodel_numvertices_set
    __swig_getmethods__["numvertices"] = _glm.GLMmodel_numvertices_get
    if _newclass:numvertices = property(_glm.GLMmodel_numvertices_get, _glm.GLMmodel_numvertices_set)
    __swig_setmethods__["vertices"] = _glm.GLMmodel_vertices_set
    __swig_getmethods__["vertices"] = _glm.GLMmodel_vertices_get
    if _newclass:vertices = property(_glm.GLMmodel_vertices_get, _glm.GLMmodel_vertices_set)
    __swig_setmethods__["numnormals"] = _glm.GLMmodel_numnormals_set
    __swig_getmethods__["numnormals"] = _glm.GLMmodel_numnormals_get
    if _newclass:numnormals = property(_glm.GLMmodel_numnormals_get, _glm.GLMmodel_numnormals_set)
    __swig_setmethods__["normals"] = _glm.GLMmodel_normals_set
    __swig_getmethods__["normals"] = _glm.GLMmodel_normals_get
    if _newclass:normals = property(_glm.GLMmodel_normals_get, _glm.GLMmodel_normals_set)
    __swig_setmethods__["numtexcoords"] = _glm.GLMmodel_numtexcoords_set
    __swig_getmethods__["numtexcoords"] = _glm.GLMmodel_numtexcoords_get
    if _newclass:numtexcoords = property(_glm.GLMmodel_numtexcoords_get, _glm.GLMmodel_numtexcoords_set)
    __swig_setmethods__["texcoords"] = _glm.GLMmodel_texcoords_set
    __swig_getmethods__["texcoords"] = _glm.GLMmodel_texcoords_get
    if _newclass:texcoords = property(_glm.GLMmodel_texcoords_get, _glm.GLMmodel_texcoords_set)
    __swig_setmethods__["numfacetnorms"] = _glm.GLMmodel_numfacetnorms_set
    __swig_getmethods__["numfacetnorms"] = _glm.GLMmodel_numfacetnorms_get
    if _newclass:numfacetnorms = property(_glm.GLMmodel_numfacetnorms_get, _glm.GLMmodel_numfacetnorms_set)
    __swig_setmethods__["facetnorms"] = _glm.GLMmodel_facetnorms_set
    __swig_getmethods__["facetnorms"] = _glm.GLMmodel_facetnorms_get
    if _newclass:facetnorms = property(_glm.GLMmodel_facetnorms_get, _glm.GLMmodel_facetnorms_set)
    __swig_setmethods__["numtriangles"] = _glm.GLMmodel_numtriangles_set
    __swig_getmethods__["numtriangles"] = _glm.GLMmodel_numtriangles_get
    if _newclass:numtriangles = property(_glm.GLMmodel_numtriangles_get, _glm.GLMmodel_numtriangles_set)
    __swig_setmethods__["triangles"] = _glm.GLMmodel_triangles_set
    __swig_getmethods__["triangles"] = _glm.GLMmodel_triangles_get
    if _newclass:triangles = property(_glm.GLMmodel_triangles_get, _glm.GLMmodel_triangles_set)
    __swig_setmethods__["nummaterials"] = _glm.GLMmodel_nummaterials_set
    __swig_getmethods__["nummaterials"] = _glm.GLMmodel_nummaterials_get
    if _newclass:nummaterials = property(_glm.GLMmodel_nummaterials_get, _glm.GLMmodel_nummaterials_set)
    __swig_setmethods__["materials"] = _glm.GLMmodel_materials_set
    __swig_getmethods__["materials"] = _glm.GLMmodel_materials_get
    if _newclass:materials = property(_glm.GLMmodel_materials_get, _glm.GLMmodel_materials_set)
    __swig_setmethods__["numgroups"] = _glm.GLMmodel_numgroups_set
    __swig_getmethods__["numgroups"] = _glm.GLMmodel_numgroups_get
    if _newclass:numgroups = property(_glm.GLMmodel_numgroups_get, _glm.GLMmodel_numgroups_set)
    __swig_setmethods__["groups"] = _glm.GLMmodel_groups_set
    __swig_getmethods__["groups"] = _glm.GLMmodel_groups_get
    if _newclass:groups = property(_glm.GLMmodel_groups_get, _glm.GLMmodel_groups_set)
    __swig_setmethods__["position"] = _glm.GLMmodel_position_set
    __swig_getmethods__["position"] = _glm.GLMmodel_position_get
    if _newclass:position = property(_glm.GLMmodel_position_get, _glm.GLMmodel_position_set)
    def __init__(self, *args):
        _swig_setattr(self, GLMmodel, 'this', _glm.new_GLMmodel(*args))
        _swig_setattr(self, GLMmodel, 'thisown', 1)
    def __del__(self, destroy=_glm.delete_GLMmodel):
        try:
            if self.thisown: destroy(self)
        except: pass

class GLMmodelPtr(GLMmodel):
    def __init__(self, this):
        _swig_setattr(self, GLMmodel, 'this', this)
        if not hasattr(self,"thisown"): _swig_setattr(self, GLMmodel, 'thisown', 0)
        _swig_setattr(self, GLMmodel,self.__class__,GLMmodel)
_glm.GLMmodel_swigregister(GLMmodelPtr)


glmUnitize = _glm.glmUnitize

glmDimensions = _glm.glmDimensions

glmScale = _glm.glmScale

glmReverseWinding = _glm.glmReverseWinding

glmFacetNormals = _glm.glmFacetNormals

glmVertexNormals = _glm.glmVertexNormals

glmLinearTexture = _glm.glmLinearTexture

glmSpheremapTexture = _glm.glmSpheremapTexture

glmDelete = _glm.glmDelete

glmReadOBJ = _glm.glmReadOBJ

glmWriteOBJ = _glm.glmWriteOBJ

glmDraw = _glm.glmDraw

glmList = _glm.glmList

glmWeld = _glm.glmWeld

glmReadPPM = _glm.glmReadPPM

