Beispiel #1
0
def renderMeshFromParts_new(parts, i):
    vertex_list = []
    seat = None
    pcd = o3d.geometry.PointCloud()
    full = o3d.geometry.PointCloud()

    # getting the seat
    for part in parts:
        if part.render:
            if part.label == PartLabel.SEAT:
                seat = part_to_pcd(part)

    for part in parts:
        if part.render:
            if part.label == PartLabel.BACK or part.label == PartLabel.ARMREST:
                print("Moving back or arm")
                bb = part.bounding_box
                lab = part.label
                col = part.colour
                part = part_to_pcd(part)
                part = move_part(part, seat, axis=1, n=1000, dir='down')
                part = pcd_to_part(part, lab, bb)
                part.colour = col

            if part.label == PartLabel.LEG:
                print("Moving leg")
                bb = part.bounding_box
                lab = part.label
                col = part.colour
                part = part_to_pcd(part)
                part = move_part(part, seat, axis=1, n=1000, dir='up')
                part = pcd_to_part(part, lab, bb)
                part.colour = col

            vertex_list = (np.asarray(part.vertices, dtype=np.float64))
            pcd.points = o3d.utility.Vector3dVector(np.asarray(vertex_list))
            pcd.estimate_normals()
            pcd.paint_uniform_color(part.colour)
            full = full + pcd
            #pcd = None
            pcd = o3d.geometry.PointCloud()

    o3d.io.write_point_cloud("final" + str(i) + ".ply", full)
    #o3d.visualization.draw_geometries([full])
    view(full, "final" + str(i) + ".png")
Beispiel #2
0
def user(request):
    if request.method == "GET":
        message = view(request)

    if request.method == "POST":
        message = add(request)

    if request.method == "PUT":
        message = modify(request)

    if request.method == "DELETE":
        message = delete(request)

    return HttpResponse(message)
def renderMeshFromParts(parts, filename = 'screenshot.png'):
    vertex_list = []
    faces_list = []
    current_offset = 0
    if parts[0].faces!=None:
        mesh = o3d.geometry.TriangleMesh()
        full = o3d.geometry.TriangleMesh()
    else:
        pcd = o3d.geometry.PointCloud()
        full = o3d.geometry.PointCloud()
        
    for part in parts:
        if part.render:
            if part.faces!=None:
                vertex_list = (np.asarray(part.vertices, dtype=np.float64))
                faces_list = (reindex_faces(part.faces, current_offset))
                #current_offset += len(part.vertices)
                mesh.vertices = o3d.utility.Vector3dVector(vertex_list)
                mesh.triangles = o3d.utility.Vector3iVector(faces_list)
                mesh.compute_vertex_normals()
                mesh.paint_uniform_color(part.colour)
                full = full + mesh
                #mesh = None
                mesh = o3d.geometry.TriangleMesh()
            else:
                vertex_list = (np.asarray(part.vertices, dtype=np.float64))
                pcd.points = o3d.utility.Vector3dVector(np.asarray(vertex_list))
                pcd.estimate_normals()
                pcd.paint_uniform_color(part.colour)
                full = full + pcd
                #pcd = None
                pcd = o3d.geometry.PointCloud()
                
    #o3d.io.write_point_cloud("final.pcd", full)
    #o3d.visualization.draw_geometries([full])
    view(full, filename)
Beispiel #4
0
def app(raw_request):
    request = make_request(raw_request)
    view = dispatch(request)
    return make_response(*view(request))
Beispiel #5
0
def app(env, start_response):
    view = routes[env['PATH_INFO']]
    status, headers, body = view(env)
    start_response(status, headers)
    return [body]
Beispiel #6
0
#encoding: utf-8
import sys

from flask_bootstrap import Bootstrap
from flask_moment import Moment

from appCreator import app
from controls import login
from views import view

bootstrap = Bootstrap(app)
moment=Moment(app)
view(app)#注册函数

if __name__ == "__main__":
    app.run(debug=True,host='0.0.0.0')
Beispiel #7
0
URL = "localhost"
PORT = 8080


# response has similar format as request object
def process_response(response):
    return ("HTTP/1.1 200 OK\r\n"
            f"Content-Length: {len(response)}\r\n"
            "Content-Type: text/html\r\n"
            "\r\n"
            f"{response}"
            "\r\n")


with socket.socket() as s:
    s.bind((URL, PORT))
    s.listen()

    while True:
        # conn - new socket object usable to send & receive data on the connection
        # address - address bound to the socket on the other side of the connection
        conn, addr = s.accept()
        print(f"Remote Address: {addr}")
        with conn:
            request = conn.recv(4096).decode("utf-8")
            method, path, protocol, headers, body = parser(request)
            response = view(path)
            response = process_response(response)
            conn.sendall(response.encode("utf-8"))