Example #1
0
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;
}
Example #2
0
void reProjectAssets::OnModelResourceLoaded(rEvent& event) {
	rResourceLoadedEvent& resourceLoadedEvent = (rResourceLoadedEvent&)event;
	ModelData* modelData = resourceLoadedEvent.GetModelData();

	if (modelData->GetLineMeshCount() == 0) {
		CreateSelectionWireframeForModel(*modelData);
	}
}