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


C++ CKParameterManager::GetFlagsDescByType方法代码示例

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


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

示例1:

vtTools::Enums::SuperType 
vtTools::ParameterTools::
	GetVirtoolsSuperType(CKContext *ctx,
	const CKGUID guid)
{
	assert(ctx);

	using namespace vtTools::Enums;

	CKParameterTypeDesc *tdescr = ctx->GetParameterManager()->GetParameterTypeDescription(guid);

	CKParameterManager *pm = static_cast<CKParameterManager *>(ctx->GetParameterManager());

	if ( (pm->GetEnumDescByType(pm->ParameterGuidToType(guid))) )
	{
		return vtENUMERATION;
	}

	// parameter is a flag 
	if ( (pm->GetFlagsDescByType(pm->ParameterGuidToType(guid)))  )
	{
		return vtFLAGS;
	}

	// is a bool :
	if( (ctx->GetParameterManager()->ParameterGuidToType(guid)) ==  ctx->GetParameterManager()->ParameterGuidToType(CKPGUID_BOOL))
		return vtBOOL;

	/*// is a file :
	if( (ctx->GetParameterManager()->ParameterGuidToType(guid)) ==  ctx->GetParameterManager()->ParameterGuidToType(GBLCO_FILE_TYPE))
		return vtFile;*/

	// is a string :
	if(ctx->GetParameterManager()->IsDerivedFrom(guid,CKPGUID_STRING))
		return vtSTRING;

	// is a float :
	if(ctx->GetParameterManager()->IsDerivedFrom(guid,CKPGUID_FLOAT))
		return vtFLOAT;

	// is a integer :
	if(ctx->GetParameterManager()->IsDerivedFrom(guid,CKPGUID_INT))
		return vtINTEGER;

	// is a VxVector :
	if(ctx->GetParameterManager()->IsDerivedFrom(guid,CKPGUID_VECTOR))
		return vtVECTOR;

	// is a Vx2DVector :
	if(ctx->GetParameterManager()->IsDerivedFrom(guid,CKPGUID_2DVECTOR))
		return vtVECTOR2D;

	// is a VxColor :
	if(ctx->GetParameterManager()->IsDerivedFrom(guid,CKPGUID_COLOR))
		return vtCOLOUR;

	// is a VxMatrix :
	if(ctx->GetParameterManager()->IsDerivedFrom(guid,CKPGUID_MATRIX))
		return vtMATRIX;

	// is a VxQuaternion :
	if(ctx->GetParameterManager()->IsDerivedFrom(guid,CKPGUID_QUATERNION))
		return vtQUATERNION;
	
	// is a Rectangle :
	if(ctx->GetParameterManager()->IsDerivedFrom(guid,CKPGUID_RECT))
		return vtRECTANGLE;

	// is a Box :
	if(ctx->GetParameterManager()->IsDerivedFrom(guid,CKPGUID_BOX))
		return vtBOX;


	// is a CKObject :
	if(ctx->GetParameterManager()->IsDerivedFrom(guid,CKPGUID_OBJECT))
		return vtOBJECT;

	return vtUNKNOWN;
}
开发者ID:,项目名称:,代码行数:79,代码来源:

示例2: WidgetInfo


//.........这里部分代码省略.........
					}
					result->items.PushBack(item);
				}
				break;
			}
		//////////////////////////////////////////////////////////////////////////	vector 3	//////////////////////////////////////////////////////////////////////////
		case vtVECTOR:
			{
				for (int i = 0 ; i < 3 ; i ++ )
				{

					WidgetInfo::WidgetInfoItem *item = new WidgetInfo::WidgetInfoItem();
					VxVector VectorValue;
					localCopy->GetValue(&VectorValue);
					item->value << VectorValue[i];
					item->widgetType = EVT_WIDGET_EDIT_TEXT;

					switch(i) 
					{
						case 0:
							item->label = "x";
							break;
						case 1:
							item->label = "y";
							break;
						case 2:
							item->label = "z";
							break;
						}
					result->items.PushBack(item);
					}
				break;
			}
		//////////////////////////////////////////////////////////////////////////	vector4	//////////////////////////////////////////////////////////////////////////
		case vtQUATERNION:
			{

				for (int i = 0 ; i < 4 ; i ++ )
				{

					WidgetInfo::WidgetInfoItem *item = new WidgetInfo::WidgetInfoItem();
					VxQuaternion realValue;
					localCopy->GetValue(&realValue);
					item->value << realValue[i];
					item->widgetType = EVT_WIDGET_EDIT_TEXT;
					switch(i) 
					{
						case 0:
							item->label = "x: ";
							break;
						case 1:
							item->label = "y: ";
							break;
						case 2:
							item->label = "z: ";
							break;
						case 3:
							item->label = "w: ";
							break;
					}
					result->items.PushBack(item);
				}
				break;
			}
		//////////////////////////////////////////////////////////////////////////	enumeration //////////////////////////////////////////////////////////////////////////
		case vtENUMERATION:
			{

				CKEnumStruct *enumStruct = pm->GetEnumDescByType(parameterType);
				if ( enumStruct )
				{
					for (int i = 0 ; i < enumStruct->GetNumEnums() ; i ++ )
					{
						WidgetInfo::WidgetInfoItem *item = new WidgetInfo::WidgetInfoItem();
						item->value = enumStruct->GetEnumDescription(i);
						item->widgetType = EVT_WIDGET_COMBO_BOX;
						result->items.PushBack(item);
					}
				}
			break;
			}
		//////////////////////////////////////////////////////////////////////////	flags	 //////////////////////////////////////////////////////////////////////////
		case vtFLAGS:
			{
				CKFlagsStruct*flagStruct = pm->GetFlagsDescByType(parameterType);
				if ( flagStruct )
				{
					for (int i = 0 ; i < flagStruct->GetNumFlags() ; i ++ )
					{
						WidgetInfo::WidgetInfoItem *item = new WidgetInfo::WidgetInfoItem();
						item->value = flagStruct->GetFlagDescription(i);
						item->widgetType = EVT_WIDGET_CHECK_BUTTON;
						result->items.PushBack(item);
					}
				}
				break;
			}
	}
	return result;
}
开发者ID:,项目名称:,代码行数:101,代码来源:


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