mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-04 10:54:24 -04:00
workaround for maya bug
This commit is contained in:
parent
fa06379c9d
commit
0054da14d1
@ -262,6 +262,7 @@ process_node(const MDagPath &dag_path, EggData &data) {
|
|||||||
get_transform(dag_path, egg_group);
|
get_transform(dag_path, egg_group);
|
||||||
|
|
||||||
MFnMesh mesh(dag_path, &status);
|
MFnMesh mesh(dag_path, &status);
|
||||||
|
|
||||||
if (!status) {
|
if (!status) {
|
||||||
if (verbose >= 2) {
|
if (verbose >= 2) {
|
||||||
nout << "Error in node " << dag_path.fullPathName() << ":\n"
|
nout << "Error in node " << dag_path.fullPathName() << ":\n"
|
||||||
@ -337,7 +338,8 @@ get_transform(const MDagPath &dag_path, EggGroup *egg_group) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void MayaFile::
|
void MayaFile::
|
||||||
make_nurbs_surface(const MDagPath &dag_path, MFnNurbsSurface surface,
|
make_nurbs_surface(const MDagPath &dag_path,
|
||||||
|
MFnNurbsSurface &surface,
|
||||||
EggGroup *egg_group) {
|
EggGroup *egg_group) {
|
||||||
MStatus status;
|
MStatus status;
|
||||||
string name = surface.name().asChar();
|
string name = surface.name().asChar();
|
||||||
@ -535,7 +537,7 @@ make_nurbs_surface(const MDagPath &dag_path, MFnNurbsSurface surface,
|
|||||||
}
|
}
|
||||||
|
|
||||||
EggNurbsCurve *MayaFile::
|
EggNurbsCurve *MayaFile::
|
||||||
make_trim_curve(MFnNurbsCurve curve, const string &nurbs_name,
|
make_trim_curve(const MFnNurbsCurve &curve, const string &nurbs_name,
|
||||||
EggGroupNode *egg_group, int trim_curve_index) {
|
EggGroupNode *egg_group, int trim_curve_index) {
|
||||||
if (verbose >= 3) {
|
if (verbose >= 3) {
|
||||||
nout << "Trim curve:\n";
|
nout << "Trim curve:\n";
|
||||||
@ -609,7 +611,7 @@ make_trim_curve(MFnNurbsCurve curve, const string &nurbs_name,
|
|||||||
}
|
}
|
||||||
|
|
||||||
void MayaFile::
|
void MayaFile::
|
||||||
make_nurbs_curve(const MDagPath &, MFnNurbsCurve curve,
|
make_nurbs_curve(const MDagPath &, const MFnNurbsCurve &curve,
|
||||||
EggGroup *egg_group) {
|
EggGroup *egg_group) {
|
||||||
MStatus status;
|
MStatus status;
|
||||||
string name = curve.name().asChar();
|
string name = curve.name().asChar();
|
||||||
@ -682,7 +684,7 @@ make_nurbs_curve(const MDagPath &, MFnNurbsCurve curve,
|
|||||||
}
|
}
|
||||||
|
|
||||||
void MayaFile::
|
void MayaFile::
|
||||||
make_polyset(const MDagPath &dag_path, MFnMesh mesh,
|
make_polyset(const MDagPath &dag_path, const MFnMesh &mesh,
|
||||||
EggGroup *egg_group, MayaShader *default_shader) {
|
EggGroup *egg_group, MayaShader *default_shader) {
|
||||||
MStatus status;
|
MStatus status;
|
||||||
string name = mesh.name().asChar();
|
string name = mesh.name().asChar();
|
||||||
|
@ -52,15 +52,20 @@ private:
|
|||||||
bool traverse(EggData &data);
|
bool traverse(EggData &data);
|
||||||
bool process_node(const MDagPath &dag_path, EggData &data);
|
bool process_node(const MDagPath &dag_path, EggData &data);
|
||||||
void get_transform(const MDagPath &dag_path, EggGroup *egg_group);
|
void get_transform(const MDagPath &dag_path, EggGroup *egg_group);
|
||||||
void make_nurbs_surface(const MDagPath &dag_path, MFnNurbsSurface surface,
|
|
||||||
|
// I ran into core dumps trying to pass around a MFnMesh object by
|
||||||
|
// value. From now on, all MFn* objects will be passed around by
|
||||||
|
// reference.
|
||||||
|
void make_nurbs_surface(const MDagPath &dag_path,
|
||||||
|
MFnNurbsSurface &surface,
|
||||||
EggGroup *group);
|
EggGroup *group);
|
||||||
EggNurbsCurve *make_trim_curve(MFnNurbsCurve curve,
|
EggNurbsCurve *make_trim_curve(const MFnNurbsCurve &curve,
|
||||||
const string &nurbs_name,
|
const string &nurbs_name,
|
||||||
EggGroupNode *egg_group,
|
EggGroupNode *egg_group,
|
||||||
int trim_curve_index);
|
int trim_curve_index);
|
||||||
void make_nurbs_curve(const MDagPath &dag_path, MFnNurbsCurve curve,
|
void make_nurbs_curve(const MDagPath &dag_path, const MFnNurbsCurve &curve,
|
||||||
EggGroup *group);
|
EggGroup *group);
|
||||||
void make_polyset(const MDagPath &dag_path, MFnMesh mesh,
|
void make_polyset(const MDagPath &dag_path, const MFnMesh &mesh,
|
||||||
EggGroup *egg_group,
|
EggGroup *egg_group,
|
||||||
MayaShader *default_shader = NULL);
|
MayaShader *default_shader = NULL);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user