recondite::Model* reProjectAssets::ImportModel(const wxString& path) { import::ModelImporter modelImporter; import::ModelImporterOptions options; ModelData modelData; int error = modelImporter.ImportModel(path.c_str().AsChar(), modelData, options); if (!error) { modelData.CalculateBoundings(); wxFileName modelPath(path); wxString modelName = modelPath.GetName(); WriteModel(modelData, modelName); if (modelData.GetLineMeshCount() == 0) { CreateSelectionWireframeForModel(modelData); } recondite::Model* model = _component->GetEngine()->content->Models()->LoadFromData(modelData, modelName.c_str().AsChar()); wxString modelHandle = GetAssetPath(rAssetType::Model, modelName); _manifest.Add(rAssetType::Model, modelName.c_str().AsChar(), modelHandle.c_str().AsChar()); return model; } return nullptr; }
void reProjectAssets::OnModelResourceLoaded(rEvent& event) { rResourceLoadedEvent& resourceLoadedEvent = (rResourceLoadedEvent&)event; ModelData* modelData = resourceLoadedEvent.GetModelData(); if (modelData->GetLineMeshCount() == 0) { CreateSelectionWireframeForModel(*modelData); } }