Exemplo n.º 1
0
void Canvas::changeModelFile( const std::string& fileName )
{
	size_t dotPos = fileName.find('.');
	if (dotPos == std::string::npos)
	{
		return;
	}
	std::string suffix = fileName.substr(dotPos, fileName.size() - dotPos);
	std::transform(suffix.begin(), suffix.end(), suffix.begin(), std::tolower);
	if (suffix == ".group")
	{
		_destroymodel();
		_clearModel();
		_model = new Group;
	}
	else if (suffix == ".entity")
	{
		_destroymodel();
		_clearModel();
		_model = new Entity;
	} 
	else if(suffix == ".mesh")
	{
		_destroymodel();
		_clearModel();
		_model = new Geometry;
	}
	else if(suffix == ".mz")
	{
		_destroymodel();
		_clearModel();
		_model = new MzModel;
	}
	else if(suffix == ".subentity")
	{
		_destroymodel();
		_clearModel();
		_model = new SubEntity;
	}
	else
	{
		return;
	}

	_model->decode(fileName); 
	_createModel();
	for (size_t i = 0; i != _observers.size(); ++i)
	{
		_observers[i]->update(_model);
	}
}
Exemplo n.º 2
0
void Canvas::_clear()
{
	_isOK = false;
	for (size_t i = 0; i != Euclid::eFontProperty_Size; ++i)
	{
		_font[i] = NULL;
	}
	_fps = 0.0f;
	_clearModel();
}
Exemplo n.º 3
0
	void CViewWindow::changeModelFile( const std::string& fileName )
	{
		size_t dotPos = fileName.find('.');
		if (dotPos == std::string::npos)
		{
			return;
		}
		std::string suffix = fileName.substr(dotPos, fileName.size() - dotPos);
		std::transform(suffix.begin(), suffix.end(), suffix.begin(), std::tolower);
		EventArgsCTreeDlgChangeFile args;
		if(suffix == ".subentity")
		{
			_destroymodel();
			_clearModel();
			_model = new SubEntity;
			args.mType = eVisibleObjectType_SubEntity;
		}
		else if(suffix == ".entity")
		{
			_destroymodel();
			_clearModel();
			_model = new Entity;
			args.mType = eVisibleObjectType_Entity;
		}
		else if(suffix == ".mz")
		{
			_destroymodel();
			_clearModel();
			_model = new MzModel;
			args.mType = eVisibleObjectType_MzModel;
		}
		else
		{
			return;
		}
		std::string name = Zen::FileSystem::getInstancePtr()->standardFilePath(fileName);	
		_model->decode(name);
		//
		args.mPrimitive = _model;
		EventManager::getInstancePtr()->fireEvent(eEvent_CTreeDlgChangeFile, &args);
	}
Exemplo n.º 4
0
	void CViewWindow::_clear()
	{
		_painted = false;
		_material = NULL;
		_vb = NULL;
		for (size_t i = 0; i != Zen::eFontProperty_Size; ++i)
		{
			_font[i] = NULL;
		}
		_fps = 0.0f;
		_clearModel();
		//_camera.setPosition(Vec3(0.0f, 50.0f, 150.0f));
	}