当前位置: 首页>>代码示例>>C++>>正文


C++ Controller::GetObjectById方法代码示例

本文整理汇总了C++中Controller::GetObjectById方法的典型用法代码示例。如果您正苦于以下问题:C++ Controller::GetObjectById方法的具体用法?C++ Controller::GetObjectById怎么用?C++ Controller::GetObjectById使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Controller的用法示例。


在下文中一共展示了Controller::GetObjectById方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: Undo

string DeleteCommand::Undo ( )
{
	executionCounter++;
	
	Controller * controller = Controller::GetInstance( );
	
	vector<IdSet>::iterator agregatesIterator = parentAgregates.begin( );
	// For each object that was deleted
	// (and its corresponding parent agregates)
	for ( IdSet::iterator it = targets.begin( ); it != targets.end( ); ++it )
	{
		// Add it back to the document
		controller->AddIdToDocument( *it );
		
		// And add it back in all agregates that it used
		// to be part of
		Agregate * currentAgregate;
		for ( IdSet::iterator jt = agregatesIterator->begin( );
				jt != agregatesIterator->end( ); ++jt )
		{
			currentAgregate = (Agregate *) controller->GetObjectById( *jt );
			currentAgregate->AddComponent( *it );
		}
		
		agregatesIterator++;
	}
	
	return STATUS_OK;
}
开发者ID:merlinND,项目名称:geometry,代码行数:29,代码来源:DeleteCommand.cpp

示例2: Execute

string DeleteCommand::Execute ( )
{
	executionCounter++;
	
	Controller * controller = Controller::GetInstance( );
	IdSet allAgregates = controller->GetAllAgregatesInDocument( );
	
	vector<IdSet>::iterator parentsIterator = parentAgregates.begin( );
	// For each object to delete
	for ( IdSet::iterator it = targets.begin( ); it != targets.end( ); ++it )
	{
		// Remove it from the document
		controller->RemoveObjectFromDocument( *it );
		
		// Find all agregates containing the deleted object
		// in order to remember them
		Agregate * currentAgregate;
		for ( IdSet::iterator jt = allAgregates.begin( );
				jt != allAgregates.end( ); ++jt )
		{
			currentAgregate = (Agregate *) controller->GetObjectById( *jt );
			if ( currentAgregate->Contains( *it ) )
			{
				currentAgregate->RemoveComponent( *it );
				parentsIterator->insert( *jt );
			}
		}
		parentsIterator++;
	}
	return STATUS_OK;
}
开发者ID:merlinND,项目名称:geometry,代码行数:31,代码来源:DeleteCommand.cpp


注:本文中的Controller::GetObjectById方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。