bool GetCPUTLandmark(std::string &name, float3 *position) { std::string nodeName = std::string(".landmarks") + name; CPUTNullNode *node = CPUTAssetLibrary::GetAssetLibrary()->FindNullNode( nodeName, true); *position = (node != NULL) ? node->GetPosition() : float3(0, 0, 0); return node != NULL; }
CPUTNullNode *CPUTAssetLibrary::GetNullNodeByName(const cString &name) { CPUTNullNode *pNullNode = (CPUTNullNode *) FindAssetByName(name, mpNullNodeList); if (pNullNode != NULL) { pNullNode->AddRef(); return pNullNode; } return NULL; }
//----------------------------------------------------------------------------- CPUTAssetSet *CPUTAssetSetDX11::CreateAssetSet( const cString &name, const cString &absolutePathAndFilename ) { CPUTAssetLibraryDX11 *pAssetLibrary = ((CPUTAssetLibraryDX11*)CPUTAssetLibrary::GetAssetLibrary()); // Create the root node. CPUTNullNode *pRootNode = new CPUTNullNode(); pRootNode->SetName(_L("_CPUTAssetSetRootNode_")); // Create the asset set, set its root, and load it CPUTAssetSet *pNewAssetSet = new CPUTAssetSetDX11(); pNewAssetSet->SetRoot( pRootNode ); pAssetLibrary->AddNullNode( name + _L("_Root"), pRootNode ); CPUTResult result = pNewAssetSet->LoadAssetSet(absolutePathAndFilename); if( CPUTSUCCESS(result) ) { pAssetLibrary->AddAssetSet(name, pNewAssetSet); return pNewAssetSet; } ASSERT( CPUTSUCCESS(result), _L("Error loading AssetSet\n'")+absolutePathAndFilename+_L("'")); pNewAssetSet->Release(); return NULL; }
//----------------------------------------------------------------------------- CPUTAssetSet *CPUTAssetSet::Create( const std::string &name, const std::string &absolutePathAndFilename, int numSystemMaterials, std::string *pSystemMaterialNames ) { CPUTAssetLibrary *pAssetLibrary = CPUTAssetLibrary::GetAssetLibrary(); // Create the root node. CPUTNullNode *pRootNode = CPUTNullNode::Create(); pRootNode->SetName("_CPUTAssetSetRootNode_"); // Create the asset set, set its root, and load it CPUTAssetSet *pNewAssetSet = new CPUTAssetSet(); pNewAssetSet->IsEnabled = true; pNewAssetSet->SetRoot( pRootNode ); pAssetLibrary->AddNullNode( name, "", "_Root", pRootNode ); CPUTResult result = pNewAssetSet->LoadAssetSet(absolutePathAndFilename, numSystemMaterials, pSystemMaterialNames); if( CPUTSUCCESS(result) ) { pAssetLibrary->AddAssetSet(name, "", "", pNewAssetSet); return pNewAssetSet; } ASSERT( CPUTSUCCESS(result), "Error loading AssetSet\n'"+absolutePathAndFilename+"'"); pNewAssetSet->Release(); return NULL; }