Added a quick warning message macro. KRSceneManager updates to del with NULL scenes.

--HG--
extra : source : ba524aee3db60b42cb093ef9ad76d62f11928a2f
This commit is contained in:
Peter Courtemanche
2013-12-14 14:20:30 -08:00
parent 33362c1c2d
commit 0773cbc4ba
2 changed files with 18 additions and 10 deletions

View File

@@ -35,6 +35,8 @@
#define IOS_REF (*(pSdkManager->GetIOSettings())) #define IOS_REF (*(pSdkManager->GetIOSettings()))
#endif #endif
#define warning(e,s) if(!(e))printf("WARNING: %s\n",s)
void InitializeSdkObjects(FbxManager*& pSdkManager, FbxScene*& pScene); void InitializeSdkObjects(FbxManager*& pSdkManager, FbxScene*& pScene);
void DestroySdkObjects(FbxManager* pSdkManager); void DestroySdkObjects(FbxManager* pSdkManager);
bool LoadScene(FbxManager* pSdkManager, FbxDocument* pScene, const char* pFilename); bool LoadScene(FbxManager* pSdkManager, FbxDocument* pScene, const char* pFilename);
@@ -404,8 +406,7 @@ KRAnimationCurve *LoadAnimationCurve(KRContext &context, FbxAnimCurve* pAnimCurv
FbxTime frame_time; FbxTime frame_time;
frame_time.SetSecondDouble(frame_seconds); frame_time.SetSecondDouble(frame_seconds);
float frame_value = pAnimCurve->Evaluate(frame_time, &last_frame); float frame_value = pAnimCurve->Evaluate(frame_time, &last_frame);
//printf(" Frame %i / %i: %.6f\n", frame_number, frame_count, frame_value); new_curve->setValue(frame_number+frame_start, frame_value);
new_curve->setValue(frame_number, frame_value);
} }
return new_curve; return new_curve;
@@ -864,10 +865,10 @@ void LoadNode(FbxScene* pFbxScene, KRNode *parent_node, FbxGeometryConverter *pG
FbxVector4 lZero(0.0, 0.0, 0.0); FbxVector4 lZero(0.0, 0.0, 0.0);
FbxVector4 lOne(1.0, 1.0, 1.0); FbxVector4 lOne(1.0, 1.0, 1.0);
assert(geometric_rotation == lZero); warning((geometric_rotation == lZero), "Geometric Rotation not supported .. 3DSMax file??");
assert(geometric_translation == lZero); warning((geometric_translation == lZero), "Geometric Rotation not supported .. 3DSMax file??");
assert(geometric_scaling == lOne); warning((geometric_scaling == lOne), "Geometric Rotation not supported .. 3DSMax file??");
assert(rotation_order == eEulerXYZ); warning((rotation_order == eEulerXYZ), "Geometric Rotation not supported .. 3DSMax file??");
KRVector3 node_translation = KRVector3(local_translation[0], local_translation[1], local_translation[2]); // T * Roff * Rp KRVector3 node_translation = KRVector3(local_translation[0], local_translation[1], local_translation[2]); // T * Roff * Rp
KRVector3 node_rotation = KRVector3(local_rotation[0], local_rotation[1], local_rotation[2]) / 180.0 * M_PI; KRVector3 node_rotation = KRVector3(local_rotation[0], local_rotation[1], local_rotation[2]) / 180.0 * M_PI;
@@ -1597,7 +1598,9 @@ KRNode *LoadLocator(KRNode *parent_node, FbxScene* pFbxScene, FbxNode* pNode) {
break; break;
default: default:
{ {
#if defined( DEBUG )
fprintf(stderr, "FBX property not imported due to unsupported data type: %s.%s\n", name.c_str(), property_name.c_str()); fprintf(stderr, "FBX property not imported due to unsupported data type: %s.%s\n", name.c_str(), property_name.c_str());
#endif
} }
break; break;
} }

View File

@@ -65,15 +65,20 @@ KRScene *KRSceneManager::getScene(const std::string &name) {
std::transform(lowerName.begin(), lowerName.end(), std::transform(lowerName.begin(), lowerName.end(),
lowerName.begin(), ::tolower); lowerName.begin(), ::tolower);
return m_scenes[lowerName]; static unordered_map<std::string, KRScene *>::iterator scene_itr = m_scenes.find(lowerName);
if(scene_itr != m_scenes.end()) {
return (*scene_itr).second;
} else {
return NULL;
}
} }
KRScene *KRSceneManager::getFirstScene() { KRScene *KRSceneManager::getFirstScene() {
static unordered_map<std::string, KRScene *>::iterator scene_itr = m_scenes.begin(); static unordered_map<std::string, KRScene *>::iterator scene_itr = m_scenes.begin();
if(scene_itr == m_scenes.end()) { if(scene_itr != m_scenes.end()) {
return NULL;
} else {
return (*scene_itr).second; return (*scene_itr).second;
} else {
return NULL;
} }
} }