'**Arguments:**
vertexes        (Nv, 3) array of vertex coordinates.
If faces is not specified, then this will instead be
interpreted as (Nf, 3, 3) array of coordinates.
faces           (Nf, 3) array of indexes into the vertex array.
edges           [not available yet]
vertexColors    (Nv, 4) array of vertex colors.
If faces is not specified, then this will instead be
interpreted as (Nf, 3, 4) array of colors.
faceColors      (Nf, 4) array of face colors.
All arguments are optional.'

def __init__(self, vertexes=None, faces=None, edges=None, vertexColors=None, faceColors=None):

    self._vertexes = None
    self._vertexesIndexedByFaces = None
    self._vertexesIndexedByEdges = None
    self._faces = None
    self._edges = None
    self._vertexFaces = None
    self._vertexEdges = None
    self._vertexNormals = None
    self._vertexNormalsIndexedByFaces = None
    self._vertexColors = None
    self._vertexColorsIndexedByFaces = None
    self._vertexColorsIndexedByEdges = None
    self._faceNormals = None
    self._faceNormalsIndexedByFaces = None
    self._faceColors = None
    self._faceColorsIndexedByFaces = None
    self._faceColorsIndexedByEdges = None
    self._edgeColors = None
    self._edgeColorsIndexedByEdges = None
    if (vertexes is not None):
        if (faces is None):
            self.setVertexes(vertexes, indexed='faces')
            if (vertexColors is not None):
                self.setVertexColors(vertexColors, indexed='faces')
            if (faceColors is not None):
                self.setFaceColors(faceColors, indexed='faces')
        else:
            self.setVertexes(vertexes)
            self.setFaces(faces)
            if (vertexColors is not None):
                self.setVertexColors(vertexColors)
            if (faceColors is not None):
                self.setFaceColors(faceColors)
