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


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

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


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

示例1: InitInstance

/*
 *******************************************************************
 * Function: CKERROR InitInstance( CKContext* theContext )
 *
 * Description : If no manager is used in the plugin these functions 
 *               are optional and can be exported. Virtools will call 
 *               'InitInstance' when loading the behavior library and 
 *               'ExitInstance' when unloading it. It is a good place 
 *               to perform Attributes Types declaration, registering new 
 *               enums or new parameter types.
 *		
 * Paramters : CKContext* theContext
 *
 * Returns : CKERROR
 *
 *******************************************************************
 */
CKERROR InitInstance(CKContext* context)
{
	// Enable logging in this module:

	// In the ini function of your module you need to identify the module 
	// any VXLOG macro use in this module will output 
	// a string preceded by ["MyModuleName"]:LogString.... 
	VXREGLOGMODULEEX("");  	
	
	// Last we must precise where the logs should be put 	
	// either in the ouput console of visual studio for example: 	
	VXREGLOGDEBUG();  	

	// in a file (with a eventual filter on what to output)... 	
	//VXREGLOGFILEEX("MyLogFile",VxLog::VLALL,0,VxLogListener::DATEMILLI);  	
	
	// or in a separate console window 
	//VXREGLOGCONSOLE();

    // Register new custom types:
	CKParameterManager* parameterManager = context->GetParameterManager();

    CKERROR err = parameterManager->RegisterNewEnum(CKGUID_GBLLISTBOXSELECTIONTYPE, "GBLListBox Selection Type", 
        "No selection=0,Single selection=1,Multi-selection=2");
    assert(err == CK_OK);

	err = parameterManager->RegisterNewEnum(CKGUID_GBLFILESYSTEMBROWSEMODE, "GBLFileSystem Browse Mode", 
        "Files=0,Folders=1");
    assert(err == CK_OK);

	err = parameterManager->RegisterNewEnum(CKGUID_GBLTEXTEDITEDITMODE, "GBLTextEdit Edit Mode", 
        "Single line=0,Multiline=1");
    assert(err == CK_OK);

    // Hide the custom types
    CKParameterTypeDesc* paramType;
	paramType = parameterManager->GetParameterTypeDescription(CKGUID_GBLLISTBOXSELECTIONTYPE);
	if (paramType) 
        paramType->dwFlags |= CKPARAMETERTYPE_HIDDEN;

	paramType = parameterManager->GetParameterTypeDescription(CKGUID_GBLFILESYSTEMBROWSEMODE);
	if (paramType) 
        paramType->dwFlags |= CKPARAMETERTYPE_HIDDEN;

    paramType = parameterManager->GetParameterTypeDescription(CKGUID_GBLTEXTEDITEDITMODE);
	if (paramType) 
        paramType->dwFlags |= CKPARAMETERTYPE_HIDDEN;

    return CK_OK;
}
开发者ID:gbaumgart,项目名称:GBL_Backup,代码行数:67,代码来源:GBLUIWidgets.cpp

示例2: PluginCallback

void PluginCallback(PluginInfo::CALLBACK_REASON reason,PluginInterface* plugininterface)
{
	s_Plugininterface	= plugininterface;
	CKContext *ctx = s_Plugininterface->GetCKContext();

	//Logger::ShowDebugMessage(ctx,Logger::ELOGERROR,"notif");

	/*
	switch(plugininterface->GetLastNotification()->messageID)
	{

	//	Logger::ShowDebugMessage(ctx,Logger::ELOGERROR,"notif");
		//CUIK_NOTIFICATION_PRESEQUENCEDELETED

	}				 */

	switch(reason)
	{


		
		
		case PluginInfo::CR_LOAD:
		{
			//////////////////////////////////////////////////////////////////////////
			//

			// this attachs the custom dialog to the Configurable Information"(CGBLCI).

			CKParameterManager *pm = ctx->GetParameterManager();
			CKParameterTypeDesc *param_desc = pm->GetParameterTypeDescription(CIPARAMETERGUID);
			if ( pm && param_desc )
			{

				param_desc->UICreatorFunction = ConfigurableInformationUIFunc; 
			}

        			
			// this attachs the gui dialog for CKPGUID_STRING to the GBLCO_FILE_TYPE.
			CKParameterTypeDesc *param_descFType = pm->GetParameterTypeDescription(GBLCO_FILE_TYPE);
			CKParameterTypeDesc *param_descString = pm->GetParameterTypeDescription(CKPGUID_STRING);
			if ( param_descFType )
			{
				param_descFType->UICreatorFunction = param_descString->UICreatorFunction;
			}	

		}break;
	}
}
开发者ID:gbaumgart,项目名称:GBL_Backup,代码行数:49,代码来源:GBLCustomisationDialogsCallback.cpp

示例3: PluginCallback

void PluginCallback(PluginInfo::CALLBACK_REASON reason,PluginInterface* plugininterface)
{
	s_Plugininterface	= plugininterface;
	CKContext *ctx = s_Plugininterface->GetCKContext();
	switch(reason)
	{
		
		case PluginInfo::CR_LOAD:
		{
			//////////////////////////////////////////////////////////////////////////
			//

			// this attachs the custom dialog to the Configurable Information"(CGBLCI).

			CKParameterManager *pm = ctx->GetParameterManager();
			CKParameterTypeDesc *param_desc = pm->GetParameterTypeDescription(CKGUID_CGBLM_PARAMETER);
			if ( pm && param_desc )
			{

				param_desc->UICreatorFunction = ConfigurableInformationUIFunc; 
			}

        		/*	
			// this attachs the gui dialog for CKPGUID_STRING to the GBLCO_FILE_TYPE.
			CKParameterTypeDesc *param_descFType = pm->GetParameterTypeDescription(GBLCO_FILE_TYPE);
			CKParameterTypeDesc *param_descString = pm->GetParameterTypeDescription(CKPGUID_STRING);
			if ( param_descFType )
			{
				param_descFType->UICreatorFunction = param_descString->UICreatorFunction;
			}	*/

		}break;
	}
}
开发者ID:gbaumgart,项目名称:GBL_Backup,代码行数:34,代码来源:GBLMeasurementDialogCallback.cpp

示例4: InitInstance

/*
 *******************************************************************
 * Function: CKERROR InitInstance( CKContext* theContext )
 *
 * Description : If no manager is used in the plugin these functions 
 *               are optional and can be exported. Virtools will call 
 *               'InitInstance' when loading the behavior library and 
 *               'ExitInstance' when unloading it. It is a good place 
 *               to perform Attributes Types declaration, registering new 
 *               enums or new parameter types.
 *		
 * Parameters : CKContext* theContext
 *    
 *
 * Returns : CKERROR
 *
 *******************************************************************
 */
CKERROR InitInstance( CKContext* theContext )
{
    new CGBLProfileManager( theContext );

    CKParameterManager* pm = theContext->GetParameterManager();

    //--- TODO: A Delete function needs to be registered, until then these will leak!
    CKParameterTypeDesc pProfile;
    pProfile.Guid = GUID_PROFILE_ID;
    pProfile.DerivedFrom = CKGUID(0,0);
    pProfile.TypeName = "TGBLProfileID";
    pProfile.DefaultSize = sizeof(CGBLProfileID);
    pProfile.CreateDefaultFunction	= CKProfileCreator;
    pProfile.StringFunction		= CKProfileStringFunc;
    //pProfile.UICreatorFunction		=
    pm->RegisterParameterType(&pProfile);

    CKParameterTypeDesc pTeam;
    pTeam.Guid = GUID_TEAM_ID;
    pTeam.DerivedFrom = GUID_PROFILE_ID;
    pTeam.TypeName = "TGBLTeamID";
    pTeam.DefaultSize = sizeof(CGBLTeamID);
    pTeam.CreateDefaultFunction	= CKTeamCreator;
    pTeam.StringFunction		= CKProfileStringFunc;
    //pTeam.UICreatorFunction		=
    pm->RegisterParameterType(&pTeam);

    CKParameterTypeDesc pUser;
    pUser.Guid = GUID_USER_ID;
    pUser.DerivedFrom = GUID_PROFILE_ID;
    pUser.TypeName = "TGBLUserID";
    pUser.DefaultSize = sizeof(CGBLUserID);
    pUser.CreateDefaultFunction	= CKUserCreator;
    pUser.StringFunction		= CKProfileStringFunc;
    //pUser.UICreatorFunction		=
    pm->RegisterParameterType(&pUser);

    // Prevent designer from creating a Profile ID as this is an invalid type.
    CKParameterTypeDesc* param_type;
    param_type = pm->GetParameterTypeDescription(GUID_PROFILE_ID);
    if (param_type) param_type->dwFlags|=CKPARAMETERTYPE_HIDDEN;

    CGBLTypeHandler THandler(theContext);
    XString typeList;
    THandler.GetTypesList(typeList);
    pm->RegisterNewEnum(EGBLProfileFieldTypeGUID,
        "EGBLProfileFieldType",
        typeList.Str());

    pm->RegisterNewEnum(EGBLUserTypeGUID,
        "EGBLUserType",
        "Player=0,Facilitator=1");

    return CK_OK;
}
开发者ID:gbaumgart,项目名称:GBL_Backup,代码行数:73,代码来源:GBLProfileManagerPlugin.cpp

示例5: Init

CKERROR CGBLCommandControllerMgr::Init( CKContext* context )
{  
  CKParameterManager* parameterManager = context->GetParameterManager();
	
	if(parameterManager)
	{
		parameterManager->RegisterNewEnum	(GUID_EGBLTARGET,"EGBLFCTarget","Untargeted=0,Player=1,Team=2"); 

		CKParameterTypeDesc *descString = parameterManager->GetParameterTypeDescription(CKPGUID_STRING);
		CKParameterTypeDesc desc;

		//--- String coming from designer defined array of strings
		desc.TypeName				= "TGBLFCStringFromList";
		desc.Guid					= GUID_GBLSTRINGFROMLIST; 
		desc.DerivedFrom			= CKPGUID_STRING;
		desc.Valid					= descString->Valid;
		desc.DefaultSize			= descString->DefaultSize;
		desc.CreateDefaultFunction	= descString->CreateDefaultFunction;
		desc.DeleteFunction			= descString->DeleteFunction;
		desc.SaveLoadFunction		= descString->SaveLoadFunction;
		desc.StringFunction			= descString->StringFunction;
		desc.UICreatorFunction		= descString->UICreatorFunction;
		desc.dwParam				= descString->dwParam; 
		desc.dwFlags				= descString->dwFlags; 
		desc.Cid					= descString->Cid;
		desc.CopyFunction			= descString->CopyFunction;

		
		parameterManager->RegisterParameterType(&desc);

		//--- String that is a filenames
		desc.TypeName				= "TGBLFCFile";
		desc.Guid					= GUID_GBLFILE; 
		desc.DerivedFrom			= CKPGUID_STRING;
		desc.Valid					= descString->Valid;
		desc.DefaultSize			= descString->DefaultSize;
		desc.CreateDefaultFunction	= descString->CreateDefaultFunction;
		desc.DeleteFunction			= descString->DeleteFunction;
		desc.SaveLoadFunction		= descString->SaveLoadFunction;
		desc.StringFunction			= descString->StringFunction;
		desc.UICreatorFunction		= descString->UICreatorFunction;
		desc.dwParam				= descString->dwParam; 
		desc.dwFlags				= descString->dwFlags; 
		desc.Cid					= descString->Cid;
		desc.CopyFunction			= descString->CopyFunction;

		
		parameterManager->RegisterParameterType(&desc);
	}


	return CK_OK;
}
开发者ID:gbaumgart,项目名称:GBL_Backup,代码行数:53,代码来源:GBLCommandControllerMgr.cpp

示例6: _RegisterBodyParameterFunctions

void PhysicManager::_RegisterBodyParameterFunctions()
{
	return;

	CKContext* ctx = GetContext();

	CKParameterManager *pm = ctx->GetParameterManager();
	CKParameterTypeDesc *param_desc = pm->GetParameterTypeDescription(VTF_PHYSIC_BODY_COMMON_SETTINGS);
	if( !param_desc ) return;
	if (param_desc->CreateDefaultFunction!=0)
	{
		xLogger::xLog(ELOGERROR,E_LI_AGEIA,"has function");
		bodyCreateFuncOld = param_desc->CreateDefaultFunction;
		param_desc->CreateDefaultFunction = (CK_PARAMETERCREATEDEFAULTFUNCTION)bodyDefaultFunctionMerged;
	}
	
	//param_desc->UICreatorFunction = CKActorUIFunc;
		//param_desc->UICreatorFunction = CKDoubleUIFunc;


}
开发者ID:gbaumgart,项目名称:vt,代码行数:21,代码来源:PhysicManagerVTRegisterBodyParameters.cpp

示例7: _RegisterBodyParameters

void PhysicManager::_RegisterBodyParameters()
{


	CKParameterManager *pm = m_Context->GetParameterManager();
	CKAttributeManager* attman = m_Context->GetAttributeManager();


	int attRef=0;
	//################################################################
	//
	// Geometry Related 
	//

	//	Object and Axis Related Length :
	REGISTER_CUSTOM_STRUCT("pAxisReferencedLength",PS_AXIS_REFERENCED_LENGTH,VTS_AXIS_REFERENCED_LENGTH,axisReferencedLength,false);
	REGISTER_CUSTOM_STRUCT("pCustomConvexCylinder",PS_CUSTOM_CONVEX_CYLINDER_DESCR,VTS_PHYSIC_CONVEX_CYLDINDER_WHEEL_DESCR,customConvexCylinder,false);
	REGISTER_STRUCT_AS_ATTRIBUTE("pCustomConvexCylinder",PS_CUSTOM_CONVEX_CYLINDER_DESCR,PHYSIC_BODY_CAT,VTS_PHYSIC_CONVEX_CYLDINDER_WHEEL_DESCR,CKCID_3DOBJECT,customConvexCylinder,true);

	
	REGISTER_CUSTOM_STRUCT("pCapsule",PS_CAPSULE,VTS_CAPSULE_SETTINGS_EX,customCapsule,false);
	REGISTER_STRUCT_AS_ATTRIBUTE("pCapsule",PS_CAPSULE,PHYSIC_BODY_CAT,VTS_CAPSULE_SETTINGS_EX,CKCID_3DOBJECT,customCapsule,true);
    	

	//////////////////////////////////////////////////////////////////////////
	//
	//		Collision Common Structs : 
	//
	
	pm->RegisterNewFlags(VTF_COLLISIONS_EVENT_MASK,"pCollisionEventMask","Ignore=1,Start Touch=2,End Touch=4,Touch=8,Impact=16,Roll=32,Slide=64,Forces=128,Start Touch Force Threshold=256,End Touch Force Threshold=512,Touch Force Threshold=1024,Contact Modification=65536");
	
	pm->RegisterNewFlags(VTF_WHEEL_CONTACT_MODIFY_FLAGS,"pWheelContactModifyFlags","Point=1,Normal=2,Position=4,Force=8,Material=16");


	
	pm->RegisterNewFlags(VTF_CONTACT_MODIFY_FLAGS,"pContactModifyFlags","None=0,Min Impulse=1,Max Impulse=2,Error=4,Target=8,Local Position0=16,Local Position1=32,Local Orientation0=64,Local Orientation1=128,Static Friction0=256,Static Friction1=512,Dynamic Friction0=1024,Dynamic Friction1=2048,Restitution=4096,Force32=2147483648");
	pm->RegisterNewFlags(VTF_CONVEX_FLAGS,"pConvexFlags","Flip Normals=1,16 Bit Indices=2,Compute Convex=4,Inflate Convex=8,Uncompressed Normals=64");
	pm->RegisterNewFlags(VTF_TRIGGER,"pTriggerFlags","Disable=8,OnEnter=1,OnLeave=2,OnStay=4");
	pm->RegisterNewEnum(VTE_FILTER_OPS,"pFilterOp","And=0,Or=1,Xor=2,Nand=3,Nor=4,NXor=5");
	pm->RegisterNewFlags(VTE_FILTER_MASK,"pFilterMask","0,1,2,3");
	pm->RegisterNewStructure(VTS_FILTER_GROUPS,"pFilterGroups","bits0,bits1,bits2,bits3",VTE_FILTER_MASK,VTE_FILTER_MASK,VTE_FILTER_MASK,VTE_FILTER_MASK);
	pm->RegisterNewFlags(VTF_SHAPES_TYPE,"pShapesTypes","Static=1,Dynamic=2");

	//////////////////////////////////////////////////////////////////////////
	//
	//		Body Sub Structs : 
	//

	pm->RegisterNewFlags(VTF_BODY_FLAGS,"pBFlags","Moving Object=1,World Gravity=2,Collision=4,Kinematic Object=8,Sub Shape=16,Hierarchy=32,Add Attributes=64,Trigger Shape=128,Deformable=256,Collision Notify=512,Collisions Force=1024,Contact Modify=2048,Sleep=4096");
	pm->RegisterNewFlags(VTF_BODY_TRANS_FLAGS,"pBTFlags","FrozenPositionX=2,FrozenPositionY=4,FrozenPositionZ=8,FrozenRotationX=16,FrozenRotationY=32,FrozenRotationZ=64");
	pm->RegisterNewEnum(VTE_COLLIDER_TYPE,"pBHullType","Sphere=0,Box=1,Capsule=2,Plane=3,Mesh=4,Convex Mesh=5,Height Field=6,Wheel=7,Cloth=8,Convex Cylinder");

	pm->RegisterNewStructure(VTS_PHYSIC_PARAMETER,"pObject", "Geometry,Physic Flags,Density,Skin Width,Mass Offset,Pivot Offset,Hierarchy,World,New Density,Total Mass,Collision Group",VTE_COLLIDER_TYPE,VTF_BODY_FLAGS,CKPGUID_FLOAT,CKPGUID_FLOAT,CKPGUID_VECTOR,CKPGUID_VECTOR,CKPGUID_BOOL,CKPGUID_3DENTITY,CKPGUID_FLOAT,CKPGUID_FLOAT,CKPGUID_INT);

	int currentAttributeType = -1;

	att_physic_object= attman->RegisterNewAttributeType("Object",VTS_PHYSIC_PARAMETER,CKCID_3DOBJECT);
	attman->SetAttributeDefaultValue(att_physic_object,"1;Moving Object,World Gravity,Enabled,Collision;1;-1;0,0,0;0,0,0;FALSE,pDefaultWorld");
	
	attman->SetAttributeCategory(att_physic_object,"Physic");


	pm->RegisterNewEnum(VTE_BODY_FORCE_MODE,"pBForceMode","Force=0,Impulse=1,Velocity Change=2,Smooth Impulse=3,Smooth Velocity Change=4,Acceleration=5");
	attman->SetAttributeCategory(att_physic_limit,"Physic");

	//////////////////////////////////////////////////////////////////////////
	//
	//	Capsule : 
	//
	pm->RegisterNewStructure(VTS_CAPSULE_SETTINGS,"Capsule", "Local Length Axis,Local Radius Axis,Length,Radius",CKPGUID_AXIS,CKPGUID_AXIS,CKPGUID_FLOAT,CKPGUID_FLOAT);

	CKParameterTypeDesc* param_type=pm->GetParameterTypeDescription(VTS_CAPSULE_SETTINGS);
	if (param_type) param_type->dwFlags|=CKPARAMETERTYPE_HIDDEN;


	/*
	att_capsule = attman->RegisterNewAttributeType("Capsule",VTS_CAPSULE_SETTINGS,CKCID_BEOBJECT);
	attman->SetAttributeDefaultValue(att_capsule,"1;0;-1.0;-1.0f");
	attman->SetAttributeCategory(att_capsule,"Physic");
	*/

	//----------------------------------------------------------------
	//
	// copy flags
	//
	pm->RegisterNewFlags(VTF_PHYSIC_ACTOR_COPY_FLAGS,"pBCopyFlags","Physics=1,Shared=2,Pivot=4,Mass=8,Collision=16,CCD=32,Material=64,Optimization=128,Capsule=256,Convex Cylinder=512,Force=1024,Velocities=2048,Joints=4096,Limit Planes=8192,Swap Joint References=16384,Override Body Flags=32768,Copy IC=65536,Restore IC=131072");
	/*
	param_type=pm->GetParameterTypeDescription(VTF_PHYSIC_ACTOR_COPY_FLAGS);
	if (param_type) param_type->dwFlags|=CKPARAMETERTYPE_HIDDEN;
	if (param_type) param_type->dwFlags|=CKPARAMETERTYPE_TOSAVE;
	*/

    
	//////////////////////////////////////////////////////////////////////////
	//
	//		Body Collision Setup 
	//


	//////////////////////////////////////////////////////////////////////////	//////////////////////////////////////////////////////////////////////////
//.........这里部分代码省略.........
开发者ID:gbaumgart,项目名称:vt,代码行数:101,代码来源:PhysicManagerVTRegisterBodyParameters.cpp

示例8: _RegisterVehicleParameters

void PhysicManager::_RegisterVehicleParameters()
{
	CKParameterManager *pm = m_Context->GetParameterManager();
	CKAttributeManager* attman = m_Context->GetAttributeManager();

	CKParameterTypeDesc* param_type = NULL;

	//################################################################
	//
	// Tire Function 
	//
	pm->RegisterNewStructure(VTF_VWTIRE_SETTINGS,"pTireFunction",
		"XML Link,Extremum Slip,Extremum Value,Asymptote Slip,Asymptote Value,Stiffness Factor",
		VTE_XML_TIRE_SETTINGS,CKPGUID_FLOAT,CKPGUID_FLOAT,CKPGUID_FLOAT,CKPGUID_FLOAT,CKPGUID_FLOAT);	


	//################################################################
	//
	// Motor related 
	//
	pm->RegisterNewStructure(VTS_VMOTOR_ENTRY,"RPM / Newton Meter","RPM,Newton Meter",CKPGUID_FLOAT,CKPGUID_FLOAT);
	param_type=pm->GetParameterTypeDescription(VTS_VMOTOR_ENTRY);
	if (param_type) param_type->dwFlags|=CKPARAMETERTYPE_HIDDEN;

	pm->RegisterNewStructure(VTS_VMOTOR_TVALUES,"pVehicleMotor Torques","1,2,3,4,5,6,7",		VTS_VMOTOR_ENTRY,VTS_VMOTOR_ENTRY,		VTS_VMOTOR_ENTRY,VTS_VMOTOR_ENTRY,		VTS_VMOTOR_ENTRY,VTS_VMOTOR_ENTRY,		VTS_VMOTOR_ENTRY);


	pm->RegisterNewStructure(VTS_VGEAR_RATIO_ENTRY,"Gear / Ratio","Gear,Ratio",CKPGUID_INT,CKPGUID_FLOAT);
	param_type=pm->GetParameterTypeDescription(VTS_VGEAR_RATIO_ENTRY);
	if (param_type) param_type->dwFlags|=CKPARAMETERTYPE_HIDDEN;
	pm->RegisterNewStructure(VTS_VGEAR_RATIOS,"pVehicleGear List","1,2,3,4,5,6,7",		VTS_VGEAR_RATIO_ENTRY,VTS_VGEAR_RATIO_ENTRY,		VTS_VGEAR_RATIO_ENTRY,VTS_VGEAR_RATIO_ENTRY,		VTS_VGEAR_RATIO_ENTRY,VTS_VGEAR_RATIO_ENTRY,		VTS_VGEAR_RATIO_ENTRY);

	//################################################################
	//
	// Vehicle Common
	//
	pm->RegisterNewFlags(VTF_VSTATE_FLAGS,"pVehicleStateFlags","Is Moving=1,Is Accelerated=2,Is Accelerated Forward=4,Is Accelerated Backward=8,All Wheels On Ground=16,Is Falling=32,Handbrake=64,Is Braking=128,Is Steering=256,Has Gearbox=512,Has Motor=1024");
	pm->RegisterNewEnum(VTE_BRAKE_LEVEL,"pVehicleBreakLevel","No Break=-1,Small=0,Medium=1,High=2");
	pm->RegisterNewEnum(VTE_BRAKE_XML_LINK,"pVehicleXMLBrakeSettings","Stub=1");
	pm->RegisterNewEnum(VTE_VEHICLE_XML_LINK,"pVehicleXMLLink","Stub=1");

	pm->RegisterNewFlags(VTF_BRAKE_FLAGS,"pVehicleBreakFlags","Use Table=1,Auto Break=2");

	REGISTER_CUSTOM_STRUCT("pVehicleBreakTable",E_VBT_STRUCT,VTS_BRAKE_TABLE,breakTable,FALSE);



	//################################################################
	//
	// Wheel 
	//

	REGISTER_CUSTOM_STRUCT("pWheelContactData",E_WCD_STRUCT,VTS_WHEEL_CONTACT,myStructWheelContactData,FALSE);

	pm->RegisterNewFlags(VTS_PHYSIC_WHEEL_FLAGS,"pWheelFlags","Steerable Input=1,Steerable Auto=2,Affected By Handbrake=4,Accelerated=8,Controlled by Vehicle=16,Affected by Differential=32,Ignore Tire Function=64");
	//pm->RegisterNewFlags(VTS_PHYSIC_WHEEL_FLAGS,"pWheelFlags","Steerable Input=1,Steerable Auto=2,Affected By Handbrake=4,Accelerated=8,Build Lower Half=256,Use Wheel Shape=512,Controlled by Vehicle");
	pm->RegisterNewFlags(VTF_VWSHAPE_FLAGS,"pWheelShapeFlags","AxisContactNormal=1,InputLateralSlip=2,InputLongitudinal=4,UnscaledSpringBehavior=8,EmulateLegacyWheel=32,ClampedFriction=64");

	pm->RegisterNewStructure(VTS_PHYSIC_WHEEL_DESCR,"pWheelDescr",
		"XML Link,Suspension,Spring Restitution,Spring Bias,Spring Damping,Maximum Brake Force,Friction To Side,Friction To Front,Inverse Wheel Mass,Wheel Flags,Wheel Shape Flags,Lateral Force Settings,Longitudinal Force Settings",
		VTE_XML_WHEEL_SETTINGS,
		CKPGUID_FLOAT,
		CKPGUID_FLOAT,
		CKPGUID_FLOAT,
		CKPGUID_FLOAT,
		CKPGUID_FLOAT,
		CKPGUID_FLOAT,
		CKPGUID_FLOAT,
		CKPGUID_FLOAT,
		VTS_PHYSIC_WHEEL_FLAGS,
		VTF_VWSHAPE_FLAGS,
		VTF_VWTIRE_SETTINGS,
		VTF_VWTIRE_SETTINGS);	

	att_wheelDescr = attman->RegisterNewAttributeType("pWheel",VTS_PHYSIC_WHEEL_DESCR,CKCID_BEOBJECT);
	attman->SetAttributeCategory(att_wheelDescr ,"Physic");

}
开发者ID:gbaumgart,项目名称:vt,代码行数:78,代码来源:PhysicManagerVTRegisterVehicleParameters.cpp


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