- fbx: support reading LimbNode attachments, less Property70 warnings.
parent
5bc573edb8
commit
a1713052e5
|
@ -152,6 +152,9 @@ const Object* LazyObject::Get(bool dieOnError)
|
||||||
else if (!strcmp(classtag.c_str(),"Null")) {
|
else if (!strcmp(classtag.c_str(),"Null")) {
|
||||||
object.reset(new Null(id,element,doc,name));
|
object.reset(new Null(id,element,doc,name));
|
||||||
}
|
}
|
||||||
|
else if (!strcmp(classtag.c_str(),"LimbNode")) {
|
||||||
|
object.reset(new LimbNode(id,element,doc,name));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (!strncmp(obtype,"Deformer",length)) {
|
else if (!strncmp(obtype,"Deformer",length)) {
|
||||||
if (!strcmp(classtag.c_str(),"Cluster")) {
|
if (!strcmp(classtag.c_str(),"Cluster")) {
|
||||||
|
|
|
@ -271,6 +271,16 @@ public:
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/** DOM base class for FBX limb node markers attached to a node */
|
||||||
|
class LimbNode : public NodeAttribute
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
|
||||||
|
LimbNode(uint64_t id, const Element& element, const Document& doc, const std::string& name);
|
||||||
|
~LimbNode();
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
/** DOM base class for FBX lights attached to a node */
|
/** DOM base class for FBX lights attached to a node */
|
||||||
class Light : public NodeAttribute
|
class Light : public NodeAttribute
|
||||||
{
|
{
|
||||||
|
|
|
@ -65,11 +65,11 @@ NodeAttribute::NodeAttribute(uint64_t id, const Element& element, const Document
|
||||||
|
|
||||||
const std::string& classname = ParseTokenAsString(GetRequiredToken(element,2));
|
const std::string& classname = ParseTokenAsString(GetRequiredToken(element,2));
|
||||||
|
|
||||||
// hack on the deriving type but Null attributes are the only case in which
|
// hack on the deriving type but Null/LimbNode attributes are the only case in which
|
||||||
// the property table is by design absent and no warning should be generated
|
// the property table is by design absent and no warning should be generated
|
||||||
// for it.
|
// for it.
|
||||||
const bool is_null = !strcmp(classname.c_str(), "Null");
|
const bool is_null_or_limb = !strcmp(classname.c_str(), "Null") || !strcmp(classname.c_str(), "LimbNode");
|
||||||
props = GetPropertyTable(doc,"NodeAttribute.Fbx" + classname,element,sc, is_null);
|
props = GetPropertyTable(doc,"NodeAttribute.Fbx" + classname,element,sc, is_null_or_limb);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -152,6 +152,21 @@ Null::~Null()
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ------------------------------------------------------------------------------------------------
|
||||||
|
LimbNode::LimbNode(uint64_t id, const Element& element, const Document& doc, const std::string& name)
|
||||||
|
: NodeAttribute(id,element,doc,name)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ------------------------------------------------------------------------------------------------
|
||||||
|
LimbNode::~LimbNode()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue