void XsiExp::ExportMeshObject( INode * node, int indentLevel) { Object * obj = node->EvalWorldState(GetStaticFrame()).obj; if (!obj || obj->ClassID() == Class_ID(TARGET_CLASS_ID, 0)) { return; } TSTR indent = GetIndent(indentLevel); ExportNodeHeader(node, "Frame", indentLevel); ExportNodeTM(node, indentLevel); ExportMesh(node, GetStaticFrame(), indentLevel); }
void Exporter::ExportGeomObject(INode* node, int indentLevel) { ObjectState os = node->EvalWorldState(GetStaticFrame()); if (!os.obj) return; // Targets are actually geomobjects, but we will export them // from the camera and light objects, so we skip them here. if (os.obj->ClassID() == Class_ID(TARGET_CLASS_ID, 0)) return; ExportNodeHeader(node); ExportNodeTM(node, indentLevel,&rsm->mesh->mat); ExportMesh(node, GetStaticFrame(), indentLevel); ExportMaterial(node, indentLevel); }
void XsiExp::ExportBoneObject( INode * node, int indentLevel) { Object * obj = node->EvalWorldState(GetStaticFrame()).obj; if (!obj || obj->ClassID() != Class_ID(BONE_CLASS_ID, 0)) { // reject non-bones return; } if (!node->GetParentNode() || node->GetParentNode()->IsRootNode()) { // bone matrices get passed to children // drop root bone return; } TSTR indent = GetIndent(indentLevel); ExportNodeHeader(node, "Frame", indentLevel); // export parent as this bone ExportNodeTM(node->GetParentNode(), indentLevel); }