示例#1
0
def makePyramidMesh(mmesh, side=20.0):
    mmesh.SetNumVerts(4)
    mmesh.SetNumFaces(4)
    mmesh.SetNumEdges(6)
    halfside = side / 2.0
    mmesh.V(0).p = MaxPlus.Point3(0.0, 0.0, side)
    mmesh.V(1).p = MaxPlus.Point3(-halfside, -halfside, 0.0)
    mmesh.V(2).p = MaxPlus.Point3(-halfside, halfside, 0.0)
    mmesh.V(3).p = MaxPlus.Point3(halfside, 0.0, 0.0)
    vislist = MaxPlus.CreateBoolList([1, 1, 0])
    mmesh.F(0).MakePoly(3, MaxPlus.CreateIntList([0, 1, 2]), vislist)
    mmesh.F(1).MakePoly(3, MaxPlus.CreateIntList([0, 2, 3]), vislist)
    mmesh.F(2).MakePoly(3, MaxPlus.CreateIntList([0, 3, 1]), vislist)
    mmesh.F(3).MakePoly(3, MaxPlus.CreateIntList([1, 2, 3]), vislist)
    mmesh.FillInMesh()
示例#2
0
def main():
    geom = MaxPlus.Factory.CreateGeomObject(MaxPlus.ClassIds.PolyMeshObject)
    poly = MaxPlus.PolyObject._CastFrom(geom)
    mmesh = poly.mnmesh
    makePyramidMesh(mmesh)
    node = MaxPlus.Factory.CreateNode(poly)
    mmesh.SetMapNum(1)
    mmesh.InitMap(0)

    mmap = mmesh.M(0)
    mmap.SetNumVerts(2)
    mmap.SetV(0, MaxPlus.Point3(1, 0, 0))
    mmap.SetV(1, MaxPlus.Point3(0, 0, 1))
    mmap.F(0).SetTV(MaxPlus.CreateIntList([0, 0, 1]))
    mmap.F(1).SetTV(MaxPlus.CreateIntList([0, 1, 1]))
    mmap.F(2).SetTV(MaxPlus.CreateIntList([1, 1, 1]))
    mmap.F(3).SetTV(MaxPlus.CreateIntList([0, 0, 0]))
    node.VertexColorMode = True
示例#3
0
 24 def main():
 25     geom = MaxPlus.Factory.CreateGeomObject(MaxPlus.ClassIds.PolyMeshObject)
 26     poly = MaxPlus.PolyObject._CastFrom(geom)
 27     mmesh = poly.mnmesh
 28     makePyramidMesh(mmesh)
 29     node = MaxPlus.Factory.CreateNode(poly)
 30     mmesh.SetMapNum(1)
 31     mmesh.InitMap(0)
 32 
 33     mmap = mmesh.M(0)
 34     mmap.SetNumVerts(2)
 35     mmap.SetV(0, MaxPlus.Point3(1, 0, 0))
 36     mmap.SetV(1, MaxPlus.Point3(0, 0, 1))
 37     mmap.F(0).SetTV(MaxPlus.CreateIntList([0, 0, 1]))
 38     mmap.F(1).SetTV(MaxPlus.CreateIntList([0, 1, 1]))
 39     mmap.F(2).SetTV(MaxPlus.CreateIntList([1, 1, 1]))
 40     mmap.F(3).SetTV(MaxPlus.CreateIntList([0, 0, 0]))
 41     node.VertexColorMode = True
 42 
 43 if __name__ == "__main__":
 44     main()
示例#4
0
def createPolyFromVertices(vertices, selection):

    vertex_array = [selection.verts[vertex - 1] for vertex in vertices]
    geom = MaxPlus.Factory.CreateGeomObject(MaxPlus.ClassIds.PolyMeshObject)
    poly = MaxPlus.PolyObject._CastFrom(geom)
    mnmesh = poly.mnmesh
    nr_vertices = len(vertex_array)

    mnmesh.SetNumVerts(nr_vertices)
    mnmesh.SetNumEdges(nr_vertices)
    mnmesh.SetNumFaces(1)
    for index, vertex in enumerate(vertex_array):
        mnmesh.V(index).p = MaxPlus.Point3(vertex.pos.x, vertex.pos.y,
                                           vertex.pos.z)
    vislist = MaxPlus.CreateBoolList([1 for i in range(nr_vertices)])
    mnmesh.F(0).MakePoly(
        nr_vertices, MaxPlus.CreateIntList([i for i in range(nr_vertices)]),
        vislist)
    mnmesh.FillInMesh()
    poly_node = MaxPlus.Factory.CreateNode(poly)
    return poly_node
示例#5
0
  2    Demonstrates how to create a mmesh from scratch and to set color per vertex data.
  3 '''
  4 import MaxPlus
  5 
  6 
  7 def makePyramidMesh(mmesh, side=20.0):
  8     mmesh.SetNumVerts(4)
  9     mmesh.SetNumFaces(4)
 10     mmesh.SetNumEdges(6)
 11     halfside = side / 2.0
 12     mmesh.V(0).p = MaxPlus.Point3(0.0, 0.0, side)
 13     mmesh.V(1).p = MaxPlus.Point3(-halfside, -halfside, 0.0)
 14     mmesh.V(2).p = MaxPlus.Point3(-halfside, halfside, 0.0)
 15     mmesh.V(3).p = MaxPlus.Point3(halfside, 0.0, 0.0)
 16     vislist = MaxPlus.CreateBoolList([1, 1, 0])
 17     mmesh.F(0).MakePoly(3, MaxPlus.CreateIntList([0, 1, 2]), vislist)
 18     mmesh.F(1).MakePoly(3, MaxPlus.CreateIntList([0, 2, 3]), vislist)
 19     mmesh.F(2).MakePoly(3, MaxPlus.CreateIntList([0, 3, 1]), vislist)
 20     mmesh.F(3).MakePoly(3, MaxPlus.CreateIntList([1, 2, 3]), vislist)
 21     mmesh.FillInMesh()
 22 
 23 
 24 def main():
 25     geom = MaxPlus.Factory.CreateGeomObject(MaxPlus.ClassIds.PolyMeshObject)
 26     poly = MaxPlus.PolyObject._CastFrom(geom)
 27     mmesh = poly.mnmesh
 28     makePyramidMesh(mmesh)
 29     node = MaxPlus.Factory.CreateNode(poly)
 30     mmesh.SetMapNum(1)
 31     mmesh.InitMap(0)
 32