Added function load_model
This commit is contained in:
parent
65467fbb0a
commit
e5da208ae7
|
@ -0,0 +1,18 @@
|
||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
from .obj import is_obj, OBJParser
|
||||||
|
from .ply import is_ply, PLYParser
|
||||||
|
|
||||||
|
def load_model(path):
|
||||||
|
parser = None
|
||||||
|
|
||||||
|
if is_obj(path):
|
||||||
|
parser = OBJParser()
|
||||||
|
elif is_ply(path):
|
||||||
|
parser = PLYParser()
|
||||||
|
else:
|
||||||
|
raise Exception("File format not supported")
|
||||||
|
|
||||||
|
parser.parse_file(path)
|
||||||
|
|
||||||
|
return parser
|
|
@ -74,3 +74,4 @@ class Exporter:
|
||||||
def __init__(self, model):
|
def __init__(self, model):
|
||||||
self.model = model
|
self.model = model
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -3,6 +3,9 @@
|
||||||
from .model import ModelParser, Exporter, Vertex, TexCoord, Normal, FaceVertex, Face
|
from .model import ModelParser, Exporter, Vertex, TexCoord, Normal, FaceVertex, Face
|
||||||
from functools import reduce
|
from functools import reduce
|
||||||
|
|
||||||
|
def is_obj(filename):
|
||||||
|
return filename[-4:] == '.obj'
|
||||||
|
|
||||||
class OBJParser(ModelParser):
|
class OBJParser(ModelParser):
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
|
@ -69,7 +72,7 @@ class OBJExporter(Exporter):
|
||||||
elif v.texture is not None:
|
elif v.texture is not None:
|
||||||
sub_arr.append(str(int(v.texture) + 1))
|
sub_arr.append(str(int(v.texture) + 1))
|
||||||
if v.normal is not None:
|
if v.normal is not None:
|
||||||
sub_arr.append(str(int(v.normal + 1)))
|
sub_arr.append(str(int(v.normal) + 1))
|
||||||
arr.append('/'.join(sub_arr))
|
arr.append('/'.join(sub_arr))
|
||||||
|
|
||||||
string += ' '.join(arr) + '\n'
|
string += ' '.join(arr) + '\n'
|
||||||
|
|
|
@ -2,6 +2,9 @@
|
||||||
|
|
||||||
from .model import ModelParser, Exporter, Vertex, Face, FaceVertex
|
from .model import ModelParser, Exporter, Vertex, Face, FaceVertex
|
||||||
|
|
||||||
|
def is_ply(filename):
|
||||||
|
return filename[-4:] == '.ply'
|
||||||
|
|
||||||
class PLYParser(ModelParser):
|
class PLYParser(ModelParser):
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
|
@ -102,4 +105,3 @@ class PLYExporter(Exporter):
|
||||||
|
|
||||||
return string
|
return string
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -3,8 +3,8 @@
|
||||||
import argparse
|
import argparse
|
||||||
import os
|
import os
|
||||||
|
|
||||||
from conv3d.obj import OBJParser
|
|
||||||
from conv3d.ply import PLYExporter
|
from conv3d.ply import PLYExporter
|
||||||
|
from conv3d.loadmodel import load_model
|
||||||
from functools import partial
|
from functools import partial
|
||||||
|
|
||||||
def check_path(path, should_exist):
|
def check_path(path, should_exist):
|
||||||
|
@ -17,8 +17,7 @@ def check_path(path, should_exist):
|
||||||
return path
|
return path
|
||||||
|
|
||||||
def main(args):
|
def main(args):
|
||||||
parser = OBJParser()
|
parser = load_model(args.input)
|
||||||
parser.parse_file(args.input)
|
|
||||||
exporter = PLYExporter(parser)
|
exporter = PLYExporter(parser)
|
||||||
result = str(exporter)
|
result = str(exporter)
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@ import argparse
|
||||||
import os
|
import os
|
||||||
|
|
||||||
from conv3d.obj import OBJExporter
|
from conv3d.obj import OBJExporter
|
||||||
from conv3d.ply import PLYParser
|
from conv3d.loadmodel import load_model
|
||||||
from functools import partial
|
from functools import partial
|
||||||
|
|
||||||
def check_path(path, should_exist):
|
def check_path(path, should_exist):
|
||||||
|
@ -17,8 +17,7 @@ def check_path(path, should_exist):
|
||||||
return path
|
return path
|
||||||
|
|
||||||
def main(args):
|
def main(args):
|
||||||
parser = PLYParser()
|
parser = load_model(args.input)
|
||||||
parser.parse_file(args.input)
|
|
||||||
exporter = OBJExporter(parser)
|
exporter = OBJExporter(parser)
|
||||||
result = str(exporter)
|
result = str(exporter)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue