Пример #1
0
CKERROR CreatePlayFFEffectProto(CKBehaviorPrototype **pproto)
{
	CKBehaviorPrototype *proto = NULL;
	proto = CreateCKBehaviorPrototype("PlayFFEffect");
	if(!proto) return CKERR_OUTOFMEMORY;
	
	proto->DeclareInput("Init");
	proto->DeclareInput("play");
	proto->DeclareInput("stop");
	proto->DeclareInput("release device");
	

	proto->DeclareOutput("initiated");
	proto->DeclareOutput("play exit");
	proto->DeclareOutput("stopped");
	proto->DeclareOutput("released");

	proto->DeclareOutput("error");


	proto->DeclareInParameter("effect file",CKPGUID_STRING);
	proto->SetFlags(CK_BEHAVIORPROTOTYPE_NORMAL);
	proto->SetFunction( PlayFFEffect );

	proto->SetBehaviorCallbackFct(PlayFFECallBackObject);
	
	*pproto = proto;
	return CK_OK;

}
Пример #2
0
CKERROR CreateMidiEventBehaviorProto(CKBehaviorPrototype **pproto)
{
	CKBehaviorPrototype *proto = CreateCKBehaviorPrototype("Midi Event");
	if(!proto) return CKERR_OUTOFMEMORY;
	
	proto->DeclareInput("On");
	proto->DeclareInput("Off");
	
	proto->DeclareOutput("Activated");
	proto->DeclareOutput("Deactivated");

	proto->DeclareInParameter("Channel", CKPGUID_INT, "0");
	proto->DeclareInParameter("Note 1", CKPGUID_INT, "0");
	
	proto->DeclareLocalParameter(NULL, CKPGUID_BOOL, "FALSE"); // Combination was ok

	proto->SetFlags(CK_BEHAVIORPROTOTYPE_NORMAL);
	proto->SetFunction(MidiEvent);
	proto->SetBehaviorFlags((CK_BEHAVIOR_FLAGS)(CKBEHAVIOR_VARIABLEPARAMETERINPUTS));
	
  proto->SetBehaviorCallbackFct( MidiEventCallBack );
  
	*pproto = proto;
	return CK_OK;
}
Пример #3
0
/*
 *******************************************************************
 * Function: CKERROR CreatePrototype( CKBehaviorPrototype** behaviorPrototypePtr )
 *
 * Description : The prototype creation function will be called the first time 
 *               a behavior must be created to create the CKBehaviorPrototype 
 *               that contains the description of the behavior.
 *
 * Parameters :
 *    behaviorPrototypePtr    w   Pointer to a CKBehaviorPrototype object that 
 *                                describes the behavior's internal structure 
 *                                and relationships with other objects.
 *
 * Returns : CKERROR
 *
 *******************************************************************
 */
CKERROR GBLPFDelete::CreatePrototype( CKBehaviorPrototype** behaviorPrototypePtr )
{
    CKBehaviorPrototype *behaviorPrototype = CreateCKBehaviorPrototype( "GBLPFDelete" );
    if ( !behaviorPrototype ) 
    {
        return CKERR_OUTOFMEMORY;
    }
    
//---     Inputs declaration
	behaviorPrototype->DeclareInput( "In" );

//---     Outputs declaration
	behaviorPrototype->DeclareOutput( "OutSuccess" );
	behaviorPrototype->DeclareOutput( "OutError" );

//---     Input Parameters declaration
	behaviorPrototype->DeclareInParameter( "SetProfileId", GUID_PROFILE_ID );

//---     Output Parameters declaration
	behaviorPrototype->DeclareOutParameter( "GetErrorCode", GUID_TGBLERROR );

    //----	Local Parameters Declaration
    
    //----	Settings Declaration

	behaviorPrototype->SetBehaviorCallbackFct( GBLPFDelete::CallBack, CKCB_BEHAVIORATTACH|CKCB_BEHAVIORDETACH|CKCB_BEHAVIORDELETE|CKCB_BEHAVIOREDITED|CKCB_BEHAVIORSETTINGSEDITED|CKCB_BEHAVIORLOAD|CKCB_BEHAVIORPRESAVE|CKCB_BEHAVIORPOSTSAVE|CKCB_BEHAVIORRESUME|CKCB_BEHAVIORPAUSE|CKCB_BEHAVIORRESET|CKCB_BEHAVIORRESET|CKCB_BEHAVIORDEACTIVATESCRIPT|CKCB_BEHAVIORACTIVATESCRIPT|CKCB_BEHAVIORREADSTATE, NULL );
    behaviorPrototype->SetFunction( GBLPFDelete::BehaviourFunction );
    
    *behaviorPrototypePtr = behaviorPrototype;
    return CK_OK;
}
Пример #4
0
CKERROR CreateDOOwnerChangedProto(CKBehaviorPrototype **pproto)
{
    CKBehaviorPrototype *proto = CreateCKBehaviorPrototype("DOOwnerChanged");
    if(!proto) return CKERR_OUTOFMEMORY;



    proto->DeclareInput("On");
    proto->DeclareInput("Off");

    proto->DeclareOutput("Exit On");
    proto->DeclareOutput("Exit Off");
    proto->DeclareOutput("New Owner");
    proto->DeclareOutput("Object Released");
    proto->DeclareOutput("Error");



    proto->DeclareInParameter("Connection ID", CKPGUID_INT, "0");
    proto->DeclareInParameter("Object", CKPGUID_BEOBJECT, "test");

    proto->DeclareOutParameter("Owner ID", CKPGUID_ID, "-1");
    proto->DeclareOutParameter("Error", VTE_NETWORK_ERROR, "Ok");


    proto->SetFlags(CK_BEHAVIORPROTOTYPE_NORMAL);
    proto->SetBehaviorFlags((CK_BEHAVIOR_FLAGS)( CKBEHAVIOR_VARIABLEPARAMETEROUTPUTS  ));
    proto->SetFunction(DOOwnerChanged);
    proto->SetBehaviorCallbackFct(DOOwnerChangedCB);

    *pproto = proto;
    return CK_OK;

}
Пример #5
0
CKERROR CreateGetFileProto(CKBehaviorPrototype **pproto)
{
	CKBehaviorPrototype *proto = CreateCKBehaviorPrototype("Get File");
	if(!proto) return CKERR_OUTOFMEMORY;

	proto->DeclareInput("Start Download");
	
	proto->DeclareOutput("Download Started");

	proto->DeclareOutput("Finish");

	proto->DeclareOutput("Error");

	proto->DeclareInParameter("RemoteFile", CKPGUID_STRING);
	proto->DeclareInParameter("LocalFile", CKPGUID_STRING);
	
	proto->DeclareOutParameter("Length in Bytes", CKPGUID_INT);
	proto->DeclareOutParameter("Current Download in Bytes", CKPGUID_INT);
	proto->DeclareOutParameter("Current Download in %", CKPGUID_PERCENTAGE);
	proto->DeclareOutParameter("Error Code", CKPGUID_INT);
	
	proto->SetFlags(CK_BEHAVIORPROTOTYPE_NORMAL);
	proto->SetFunction(GetFile);
	*pproto = proto;
	return CK_OK;
}
Пример #6
0
/*
 *******************************************************************
 * Function: CKERROR CreatePrototype( CKBehaviorPrototype** behaviorPrototypePtr )
 *
 * Description : The prototype creation function will be called the first time 
 *               a behavior must be created to create the CKBehaviorPrototype 
 *               that contains the description of the behavior.
 *
 * Parameters :
 *    behaviorPrototypePtr    w   Pointer to a CKBehaviorPrototype object that 
 *                                describes the behavior's internal structure 
 *                                and relationships with other objects.
 *
 * Returns : CKERROR
 *
 *******************************************************************
 */
CKERROR CGBLLAERemoveUser::CreatePrototype( CKBehaviorPrototype** behaviorPrototypePtr )
{
    CKBehaviorPrototype *behaviorPrototype = CreateCKBehaviorPrototype( "GBLLAERemoveUserBB" );
    if ( !behaviorPrototype ) 
    {
        return CKERR_OUTOFMEMORY;
    }
    
//---     Inputs declaration
	behaviorPrototype->DeclareInput( "RemoveUser" );

//---     Outputs declaration
	behaviorPrototype->DeclareOutput( "UserRemoved" );
	behaviorPrototype->DeclareOutput( "Error" );

//---     Input Parameters declaration
	behaviorPrototype->DeclareInParameter( "LAEID", GUID_GBLLAEID );
	behaviorPrototype->DeclareInParameter( "LAEUserIDList", CKPGUID_DATAARRAY );

//---     Output Parameters declaration
	behaviorPrototype->DeclareOutParameter( "Error", GUID_TGBLERROR );

    //----	Local Parameters Declaration
    
    //----	Settings Declaration

	behaviorPrototype->SetBehaviorCallbackFct( CGBLLAERemoveUser::CallBack, CKCB_BEHAVIORATTACH|CKCB_BEHAVIORDETACH|CKCB_BEHAVIORDELETE|CKCB_BEHAVIOREDITED|CKCB_BEHAVIORSETTINGSEDITED|CKCB_BEHAVIORLOAD|CKCB_BEHAVIORPRESAVE|CKCB_BEHAVIORPOSTSAVE|CKCB_BEHAVIORRESUME|CKCB_BEHAVIORPAUSE|CKCB_BEHAVIORRESET|CKCB_BEHAVIORRESET|CKCB_BEHAVIORDEACTIVATESCRIPT|CKCB_BEHAVIORACTIVATESCRIPT|CKCB_BEHAVIORREADSTATE, NULL );
    behaviorPrototype->SetFunction( CGBLLAERemoveUser::BehaviourFunction );
    
    *behaviorPrototypePtr = behaviorPrototype;
    return CK_OK;
}
Пример #7
0
//************************************
// Method:    CreatePClothAttachVertexToPositionProto
// FullName:  CreatePClothAttachVertexToPositionProto
// Access:    public 
// Returns:   CKERROR
// Qualifier:
// Parameter: CKBehaviorPrototype **pproto
//************************************
CKERROR CreatePClothAttachVertexToPositionProto(CKBehaviorPrototype **pproto)
{
	CKBehaviorPrototype *proto = CreateCKBehaviorPrototype("PClothAttachVertexToPosition");
	if(!proto) return CKERR_OUTOFMEMORY;

	proto->DeclareInput("In");
	proto->DeclareOutput("Out");

	/*! \page PClothAttachVertexToPosition  

	PClothAttachVertexToPosition is categorized in \ref Clothes

	<h3>Description</h3>
	Apply to a <A HREF="Documentation.chm::/beobjects/1_ck3dentity.html">3DEntity</A><br>
	Attaches a cloth vertex to a position in world space.<br>

	@see pCloth::attachVertexToGlobalPosition()


	<h3>Technical Information</h3>

	\image html PClothAttachVertexToPosition.png

	<SPAN CLASS="in">In: </SPAN>triggers the process
	<BR>
	<SPAN CLASS="out">Out: </SPAN>is activated when the process is completed.
	<BR>
	<BR>
	
	
	<SPAN CLASS="pin">Target: </SPAN>Target cloth reference.
	<BR>
	<BR>

	<BR>
	<BR>
	<SPAN CLASS="pin">Vertex Index: </SPAN>Index of the vertex to attach.
	<BR>
	<BR>

	<SPAN CLASS="pin">Global Position: </SPAN>TThe position in world space.
	<BR>
	<BR>

	*/

	proto->SetBehaviorCallbackFct( PClothAttachVertexToPositionCB );

	proto->DeclareInParameter("Vertex Index",CKPGUID_INT);
	proto->DeclareInParameter("Global Position",CKPGUID_VECTOR);


	
	proto->SetFlags(CK_BEHAVIORPROTOTYPE_NORMAL);
	proto->SetBehaviorFlags(CKBEHAVIOR_TARGETABLE);
	
	proto->SetFunction(PClothAttachVertexToPosition);
	*pproto = proto;
	return CK_OK;
}
Пример #8
0
/*
 *******************************************************************
 * Function: CKERROR CreateGetCIValueProto( CKBehaviorPrototype** behaviorPrototypePtr )
 *
 * Description : The prototype creation function will be called the first time 
 *               a behavior must be created to create the CKBehaviorPrototype 
 *               that contains the description of the behavior.
 *
 * Parameters :
 *    behaviorPrototypePtr    w   Pointer to a CKBehaviorPrototype object that 
 *                                describes the behavior's internal structure 
 *                                and relationships with other objects.
 *
 * Returns : CKERROR
 *
 *******************************************************************
 */
CKERROR CreateGetCIValueProto(CKBehaviorPrototype **pproto)
{
	CKBehaviorPrototype *proto = CreateCKBehaviorPrototype(GBL_CI_API_ENTRY("GetCI"));
	if(!proto) return CKERR_OUTOFMEMORY;

	proto->DeclareInput("Start");
	proto->DeclareOutput("Success");
	
	proto->DeclareInParameter("Configurable Information", CIPARAMETERGUID);
	
	proto->DeclareOutParameter("Configurable Information Value", CKPGUID_STRING);

	proto->DeclareSetting("Get CI by unique name",CKPGUID_BOOL,"FALSE");
	proto->DeclareSetting("Get value as string",CKPGUID_BOOL,"FALSE");
	proto->DeclareSetting("Output custom values",CKPGUID_BOOL,"FALSE");
	proto->DeclareSetting("Output on change",CKPGUID_BOOL,"FALSE");


	proto->SetBehaviorFlags((CK_BEHAVIOR_FLAGS)( CKBEHAVIOR_VARIABLEPARAMETEROUTPUTS ));
	proto->SetFlags(CK_BEHAVIORPROTOTYPE_NORMAL);
	proto->SetBehaviorCallbackFct(GetCIValueCB);
	proto->SetFunction(GetCIValue);

	*pproto = proto;
	return CK_OK;
}
Пример #9
0
CKERROR CreateFTPLoginProto(CKBehaviorPrototype **pproto)
{
	CKBehaviorPrototype *proto = CreateCKBehaviorPrototype("FTP Login");
	if(!proto) return CKERR_OUTOFMEMORY;

	proto->DeclareInput("Login");
	proto->DeclareInput("Logout");

	proto->DeclareOutput("Login Exit");
	proto->DeclareOutput("Logout Exit");
	proto->DeclareOutput("Error");

	proto->DeclareInParameter("Host", CKPGUID_STRING,"127.0.0.1");
	proto->DeclareInParameter("User", CKPGUID_STRING,"ich");
	proto->DeclareInParameter("Password", CKPGUID_STRING,"ich");
	proto->DeclareInParameter("Port", CKPGUID_INT,"21");
	

	proto->DeclareOutParameter("Error Code 0=ok", CKPGUID_INT,"0");
	
	proto->SetFlags(CK_BEHAVIORPROTOTYPE_NORMAL);
	proto->SetFunction(FTPLogin);
	*pproto = proto;
	return CK_OK;
}
/*
 *******************************************************************
 * Function: CKERROR CreatePrototype( CKBehaviorPrototype** behaviorPrototypePtr )
 *
 * Description : The prototype creation function will be called the first time 
 *               a behavior must be created to create the CKBehaviorPrototype 
 *               that contains the description of the behavior.
 *
 * Parameters :
 *    behaviorPrototypePtr    w   Pointer to a CKBehaviorPrototype object that 
 *                                describes the behavior's internal structure 
 *                                and relationships with other objects.
 *
 * Returns : CKERROR
 *
 *******************************************************************
 */
CKERROR GBLStorageManagerStateTestBB::CreatePrototype( CKBehaviorPrototype** behaviorPrototypePtr )
{
    CKBehaviorPrototype *behaviorPrototype = CreateCKBehaviorPrototype( "GBLStorageManagerStateTestBB" );
    if ( !behaviorPrototype ) 
    {
        return CKERR_OUTOFMEMORY;
    }
    
//---     Inputs declaration
	behaviorPrototype->DeclareInput( "In0" );

//---     Outputs declaration
	behaviorPrototype->DeclareOutput( "Out0" );



    //----	Local Parameters Declaration
    
    //----	Settings Declaration

	behaviorPrototype->SetBehaviorCallbackFct( GBLStorageManagerStateTestBB::CallBack, CKCB_BEHAVIORATTACH|CKCB_BEHAVIORDETACH|CKCB_BEHAVIORDELETE|CKCB_BEHAVIOREDITED|CKCB_BEHAVIORSETTINGSEDITED|CKCB_BEHAVIORLOAD|CKCB_BEHAVIORPRESAVE|CKCB_BEHAVIORPOSTSAVE|CKCB_BEHAVIORRESUME|CKCB_BEHAVIORPAUSE|CKCB_BEHAVIORRESET|CKCB_BEHAVIORRESET|CKCB_BEHAVIORDEACTIVATESCRIPT|CKCB_BEHAVIORACTIVATESCRIPT|CKCB_BEHAVIORREADSTATE, NULL );
    behaviorPrototype->SetFunction( GBLStorageManagerStateTestBB::BehaviourFunction );
    
    *behaviorPrototypePtr = behaviorPrototype;
    return CK_OK;
}
Пример #11
0
//************************************
// Method:    CreatePMaterialIteratorProto
// FullName:  CreatePMaterialIteratorProto
// Access:    public 
// Returns:   CKERROR
// Qualifier:
// Parameter: CKBehaviorPrototype **pproto
//************************************
CKERROR CreatePMaterialIteratorProto(CKBehaviorPrototype **pproto)
{
	CKBehaviorPrototype *proto = CreateCKBehaviorPrototype("PMaterialIterator");
	if(!proto) return CKERR_OUTOFMEMORY;

	proto->DeclareInput("In");

	proto->DeclareInput("Next");
	proto->DeclareOutput("Finish");
	proto->DeclareOutput("Loop");

	proto->DeclareLocalParameter("current result", CKPGUID_POINTER, "0");

	proto->DeclareOutParameter("Index",CKPGUID_INT);
	proto->DeclareOutParameter("XML Link",VTE_XML_MATERIAL_TYPE);
	proto->DeclareOutParameter("Name",CKPGUID_STRING);
	proto->DeclareOutParameter("Dynamic Friction",CKPGUID_FLOAT);
	proto->DeclareOutParameter("Static Friction",CKPGUID_FLOAT);
	proto->DeclareOutParameter("Restitution",CKPGUID_FLOAT);
	proto->DeclareOutParameter("Dynamic Friction V",CKPGUID_FLOAT);
	proto->DeclareOutParameter("Static Friction V",CKPGUID_FLOAT);
	proto->DeclareOutParameter("Direction of Anisotropy ",CKPGUID_VECTOR);
	proto->DeclareOutParameter("Friction Combine Mode",VTE_MATERIAL_COMBINE_MODE);
	proto->DeclareOutParameter("Restitution Combine Mode",VTE_MATERIAL_COMBINE_MODE);
	proto->DeclareOutParameter("Flags",VTF_MATERIAL_FLAGS);
	proto->DeclareOutParameter("Result",VTS_MATERIAL);

	proto->SetBehaviorCallbackFct( PMaterialIteratorCB );
	proto->SetFlags(CK_BEHAVIORPROTOTYPE_NORMAL);
	proto->SetBehaviorFlags(CKBEHAVIOR_TARGETABLE);
	
	proto->SetFunction(PMaterialIterator);
	*pproto = proto;
	return CK_OK;
}
/*
 *******************************************************************
 * Function: CKERROR CreatePrototype( CKBehaviorPrototype** behaviorPrototypePtr )
 *
 * Description : The prototype creation function will be called the first time 
 *               a behavior must be created to create the CKBehaviorPrototype 
 *               that contains the description of the behavior.
 *
 * Paramters :
 *    behaviorPrototypePtr    w   Pointer to a CKBehaviorPrototype object that 
 *                                describes the behavior's internal structure 
 *                                and relationships with other objects.
 *
 * Returns : CKERROR
 *
 *******************************************************************
 */
CKERROR CGBLCHChatMoveHomogeneous::CreatePrototype( CKBehaviorPrototype** behaviorPrototypePtr )
{
    CKBehaviorPrototype *behaviorPrototype = CreateCKBehaviorPrototype( "GBLCHChatMoveHomogeneous" );
    if ( !behaviorPrototype ) 
    {
        return CKERR_OUTOFMEMORY;
    }
    
//---     Inputs declaration
	behaviorPrototype->DeclareInput( "On" );


//---     Outputs declaration
	behaviorPrototype->DeclareOutput( "Done" );
	behaviorPrototype->DeclareOutput( "Error" );

//---     Input Parameters declaration
	behaviorPrototype->DeclareInParameter( "Frame", CKPGUID_2DENTITY );

	behaviorPrototype->DeclareInParameter( "Height", CKPGUID_FLOAT );  //1
	behaviorPrototype->DeclareInParameter( "Width", CKPGUID_FLOAT );  //2
	behaviorPrototype->DeclareInParameter( "X", CKPGUID_FLOAT );  //3
	behaviorPrototype->DeclareInParameter( "Y", CKPGUID_FLOAT );  //4


    //----	Local Parameters Declaration
    
    //----	Settings Declaration

	behaviorPrototype->SetBehaviorCallbackFct( CGBLCHChatMoveHomogeneous::CallBack, CKCB_BEHAVIORATTACH|CKCB_BEHAVIORDETACH|CKCB_BEHAVIORDELETE|CKCB_BEHAVIOREDITED|CKCB_BEHAVIORSETTINGSEDITED|CKCB_BEHAVIORLOAD|CKCB_BEHAVIORPRESAVE|CKCB_BEHAVIORPOSTSAVE|CKCB_BEHAVIORRESUME|CKCB_BEHAVIORPAUSE|CKCB_BEHAVIORRESET|CKCB_BEHAVIORRESET|CKCB_BEHAVIORDEACTIVATESCRIPT|CKCB_BEHAVIORACTIVATESCRIPT|CKCB_BEHAVIORREADSTATE, NULL );
    behaviorPrototype->SetFunction( CGBLCHChatMoveHomogeneous::BehaviourFunction );
    
    *behaviorPrototypePtr = behaviorPrototype;
    return CK_OK;
}
Пример #13
0
CKERROR CreateDirToArrayProto(CKBehaviorPrototype **pproto)
{
	CKBehaviorPrototype *proto = CreateCKBehaviorPrototype("Dir to Array");
	if(!proto) return CKERR_OUTOFMEMORY;

	proto->DeclareInput("Fill");
	proto->DeclareInput("Loop In");

	proto->DeclareOutput("Reseted");
	proto->DeclareOutput("Loop Out");

	proto->DeclareInParameter("Directory", CKPGUID_STRING,"0");
	proto->DeclareInParameter("Mask", CKPGUID_STRING,"0");
	proto->DeclareInParameter("Recursive", CKPGUID_BOOL,"0");


	
	proto->DeclareOutParameter("entry", CKPGUID_STRING);
	proto->DeclareOutParameter("counter", CKPGUID_INT);

	
	proto->SetFlags(CK_BEHAVIORPROTOTYPE_NORMAL);
	proto->SetFunction(DirToArray);
	*pproto = proto;
	return CK_OK;
}
Пример #14
0
/*
 *******************************************************************
 * Function: CKERROR CreateCISIteratorBBProto( CKBehaviorPrototype** behaviorPrototypePtr )
 *
 * Description : The prototype creation function will be called the first time 
 *               a behavior must be created to create the CKBehaviorPrototype 
 *               that contains the description of the behavior.
 *
 * Parameters :
 *    behaviorPrototypePtr    w   Pointer to a CKBehaviorPrototype object that 
 *                                describes the behavior's internal structure 
 *                                and relationships with other objects.
 *
 * Returns : CKERROR
 *
 *******************************************************************
 */
CKERROR CreateCISIteratorBBProto(CKBehaviorPrototype **pproto)
{
	CKBehaviorPrototype *proto = CreateCKBehaviorPrototype(GBL_CI_API_ENTRY("CISIterator"));
	if(!proto) return CKERR_OUTOFMEMORY;

	proto->DeclareInput("On/Reset");
	proto->DeclareOutput("Exit On/Reset");

	proto->DeclareInput("Loop In");
	proto->DeclareOutput("Loop Out");

	    
	proto->DeclareOutParameter("value", CKPGUID_STRING,"-1");					
	proto->DeclareOutParameter("default value", CKPGUID_STRING,"-1");					

	proto->DeclareOutParameter("unique name", CKPGUID_STRING,"");
	proto->DeclareOutParameter("description", CKPGUID_STRING,"-1");					
	proto->DeclareOutParameter("access flags", CIPRTFLAGSGUID,"");				
	proto->DeclareOutParameter("parameter type", CKPGUID_PARAMETERTYPE,"-1");	
	proto->DeclareOutParameter("ci db index", CKPGUID_INT,"-1");	

	proto->DeclareLocalParameter(NULL, CKPGUID_INT); // index
	proto->DeclareLocalParameter(NULL, CKPGUID_INT); // cis size
	proto->DeclareLocalParameter(NULL, CKPGUID_POINTER); // ciid list
	proto->DeclareSetting("Read From Database", CKPGUID_BOOL,"FALSE");	
    
	proto->SetFlags(CK_BEHAVIORPROTOTYPE_NORMAL);

	proto->SetBehaviorCallbackFct(CISIteratorCB);
	proto->SetFunction(CISIteratorBB);

	*pproto = proto;
	return CK_OK;
}
Пример #15
0
//************************************
// Method:    CreateJD6SetParametersProto
// FullName:  CreateJD6SetParametersProto
// Access:    public 
// Returns:   CKERROR
// Qualifier:
// Parameter: CKBehaviorPrototype **pproto
//************************************
CKERROR CreateJD6SetParametersProto(CKBehaviorPrototype **pproto)
{
	CKBehaviorPrototype *proto = CreateCKBehaviorPrototype("PJD6SetParameters");
	if(!proto) return CKERR_OUTOFMEMORY;

	proto->DeclareInput("In0");
	proto->DeclareOutput("Out0");

	
	
	proto->SetBehaviorCallbackFct( JD6SetParametersCB );
	
	
	proto->DeclareInParameter("Body B",CKPGUID_3DENTITY,"ball2");
	proto->DeclareInParameter("Drive Linear Velocity",CKPGUID_VECTOR);
	proto->DeclareInParameter("Drive Angular Velocity",CKPGUID_VECTOR);
	proto->DeclareInParameter("Drive Position",CKPGUID_VECTOR);
	proto->DeclareInParameter("Drive Orientation",CKPGUID_QUATERNION);
	
	proto->DeclareInParameter("Ratio",CKPGUID_FLOAT,"0");
	
	proto->SetFlags(CK_BEHAVIORPROTOTYPE_NORMAL);
	proto->SetBehaviorFlags(CKBEHAVIOR_TARGETABLE);
	
	proto->SetFunction(JD6SetParameters);
	*pproto = proto;
	return CK_OK;
}
Пример #16
0
/*
 *******************************************************************
 * Function: CKERROR CreatePrototype( CKBehaviorPrototype** behaviorPrototypePtr )
 *
 * Description : The prototype creation function will be called the first time 
 *               a behavior must be created to create the CKBehaviorPrototype 
 *               that contains the description of the behavior.
 *
 * Parameters :
 *    behaviorPrototypePtr    w   Pointer to a CKBehaviorPrototype object that 
 *                                describes the behavior's internal structure 
 *                                and relationships with other objects.
 *
 * Returns : CKERROR
 *
 *******************************************************************
 */
CKERROR GBLPFGetUserIdentity::CreatePrototype( CKBehaviorPrototype** behaviorPrototypePtr )
{
    CKBehaviorPrototype *behaviorPrototype = CreateCKBehaviorPrototype( "GBLPFGetUserIdentity" );
    if ( !behaviorPrototype ) 
    {
        return CKERR_OUTOFMEMORY;
    }
    
//---     Inputs declaration
	behaviorPrototype->DeclareInput( "In" );

//---     Outputs declaration
	behaviorPrototype->DeclareOutput( "Out" );


//---     Output Parameters declaration
	behaviorPrototype->DeclareOutParameter( "GetUserId", GUID_USER_ID );
	behaviorPrototype->DeclareOutParameter( "GetUsername", CKPGUID_STRING );
	behaviorPrototype->DeclareOutParameter( "GetVirtoolsUserId", CKPGUID_INT );

    //----	Local Parameters Declaration
    
    //----	Settings Declaration

	behaviorPrototype->SetBehaviorCallbackFct( GBLPFGetUserIdentity::CallBack, CKCB_BEHAVIORATTACH|CKCB_BEHAVIORDETACH|CKCB_BEHAVIORDELETE|CKCB_BEHAVIOREDITED|CKCB_BEHAVIORSETTINGSEDITED|CKCB_BEHAVIORLOAD|CKCB_BEHAVIORPRESAVE|CKCB_BEHAVIORPOSTSAVE|CKCB_BEHAVIORRESUME|CKCB_BEHAVIORPAUSE|CKCB_BEHAVIORRESET|CKCB_BEHAVIORRESET|CKCB_BEHAVIORDEACTIVATESCRIPT|CKCB_BEHAVIORACTIVATESCRIPT|CKCB_BEHAVIORREADSTATE, NULL );
    behaviorPrototype->SetFunction( GBLPFGetUserIdentity::BehaviourFunction );
    
    *behaviorPrototypePtr = behaviorPrototype;
    return CK_OK;
}
Пример #17
0
CKERROR CreateKeyboardCameraOrbitProto(CKBehaviorPrototype **pproto)
{
	CKBehaviorPrototype *proto = CreateCKBehaviorPrototype("Keyboard Camera Orbit");
	if(!proto) return CKERR_OUTOFMEMORY;

	// General Description
	CKERROR error = FillGeneralCameraOrbitProto(proto);
	if (error != CK_OK)
		return (error);

	// Additionnal Settings for the Keyboard
	proto->DeclareSetting("Key Rotate Left", CKPGUID_KEY,"Left Arrow");
	proto->DeclareSetting("Key Rotate Right", CKPGUID_KEY,"Right Arrow");
	proto->DeclareSetting("Key Rotate Up", CKPGUID_KEY,"Up Arrow");
	proto->DeclareSetting("Key Rotate Down", CKPGUID_KEY,"Down Arrow");
	proto->DeclareSetting("Key Zoom In", CKPGUID_KEY,"PREVIOUS");
	proto->DeclareSetting("Key Zoom Out", CKPGUID_KEY,"NEXT");

	// Set the execution functions
	proto->SetFunction(KeyboardCameraOrbit);
	proto->SetBehaviorCallbackFct(GeneralCameraOrbitCallback,CKCB_BEHAVIORSETTINGSEDITED|CKCB_BEHAVIORLOAD|CKCB_BEHAVIORCREATE);

	// return OK
	*pproto = proto;
	return CK_OK;
}
Пример #18
0
CKERROR CreateLogEntryProto(CKBehaviorPrototype **pproto)
{
	CKBehaviorPrototype *proto = CreateCKBehaviorPrototype("pLogEvent");
	if(!proto) return CKERR_OUTOFMEMORY;

	proto->DeclareInput("In");
	proto->DeclareInput("Off");
	proto->DeclareOutput("Message");

	proto->DeclareOutput("Error");
	proto->DeclareOutput("Warning");
	proto->DeclareOutput("Info");
	proto->DeclareOutput("Trace");
	proto->DeclareOutput("Debug");


	
	proto->DeclareOutParameter("Entry",CKPGUID_STRING);
	
	proto->DeclareOutParameter("Type",CKPGUID_INT);
	proto->DeclareOutParameter("Component",CKPGUID_STRING);


	proto->SetFlags(CK_BEHAVIORPROTOTYPE_NORMAL);
	proto->SetBehaviorFlags((CK_BEHAVIOR_FLAGS)( CKBEHAVIOR_VARIABLEPARAMETERINPUTS  ));
	proto->SetFunction(LogEntry);
	proto->SetBehaviorCallbackFct(LogEntryCB);


	*pproto = proto;


	return CK_OK;

}
Пример #19
0
CKERROR CreateNeoSetMousePosProto(CKBehaviorPrototype** pproto)
{
	CKBehaviorPrototype *proto = CreateCKBehaviorPrototype("Set Mouse Pos");
	if (!proto) {
		return CKERR_OUTOFMEMORY;
	}

//---     Inputs declaration
	proto->DeclareInput("Set");

//---     Outputs declaration
	proto->DeclareOutput("Done");

//---     Input Parameters declaration
	proto->DeclareInParameter("X", CKPGUID_INT,"100");
	proto->DeclareInParameter("Y", CKPGUID_INT,"100");
	proto->DeclareInParameter("Keep Active", CKPGUID_BOOL, "TRUE");
//	proto->DeclareSetting("Keep Active",CKPGUID_BOOL,"TRUE");
//	proto->DeclareLocalParameter("KeepActive", CKPGUID_BOOL);


//----	Local Parameters Declaration

//----	Settings Declaration

	proto->SetBehaviorCallbackFct(NeoSetMousePosCallBack, NULL);
	proto->SetFunction(NeoSetMousePos);

	*pproto = proto;
	return CK_OK;
}
Пример #20
0
//************************************
// Method:    CreateRegisterAttributeTypeProto
// FullName:  CreateRegisterAttributeTypeProto
// Access:    public
// Returns:   CKERROR
// Qualifier:
// Parameter: CKBehaviorPrototype **pproto
//************************************
CKERROR CreateRegisterAttributeTypeProto(CKBehaviorPrototype **pproto)
{
	CKBehaviorPrototype *proto = CreateCKBehaviorPrototype("RegisterAttribute");
	if(!proto) return CKERR_OUTOFMEMORY;

	proto->DeclareInput("In");
	proto->DeclareOutput("Out");
	proto->DeclareOutput("Error");

	proto->DeclareInParameter("Name",CKPGUID_STRING);
	proto->DeclareInParameter("Category",CKPGUID_STRING);
	proto->DeclareInParameter("Default Value",CKPGUID_STRING);
	proto->DeclareInParameter("Parameter Type",CKPGUID_PARAMETERTYPE);
	proto->DeclareInParameter("Compatible Class",CKPGUID_CLASSID);

	proto->DeclareInParameter("User",CKPGUID_BOOL,"TRUE");
	proto->DeclareInParameter("Save",CKPGUID_BOOL,"TRUE");


	proto->SetBehaviorCallbackFct( RegisterAttributeTypeCB );


	proto->SetFlags(CK_BEHAVIORPROTOTYPE_NORMAL);
	
	proto->SetFunction(RegisterAttributeType);
	*pproto = proto;
	return CK_OK;
}
Пример #21
0
CKERROR CreateTextureSinusProto(CKBehaviorPrototype **pproto)
{
    CKBehaviorPrototype *proto = CreateCKBehaviorPrototype("Texture Sine2");

    proto->DeclareInput("In");
    proto->DeclareOutput("Out");

    proto->DeclareInParameter("X Amplitude", CKPGUID_FLOAT,"0.1" );
    proto->DeclareInParameter("Y Amplitude", CKPGUID_FLOAT ,"0.1");
    proto->DeclareInParameter("Velocity", CKPGUID_FLOAT ,"1");
    proto->DeclareInParameter("Channel", CKPGUID_INT, "-1");

    proto->DeclareInParameter("target", CKPGUID_MESH, "-1");


    proto->DeclareLocalParameter(NULL, CKPGUID_VOIDBUF );		// Data
    proto->DeclareLocalParameter(NULL, CKPGUID_FLOAT, "0.0" );	// Time

    proto->SetFlags(CK_BEHAVIORPROTOTYPE_NORMAL);
    proto->SetFunction(TextureSinus);

    proto->SetBehaviorCallbackFct(TextureSinusCallBackObject);

    *pproto = proto;
    return CK_OK;

}
Пример #22
0
/*
 *******************************************************************
 * Function: int CreateBehaviourPrototype() 
 *
 * Description : Returns the number of plugins in this DLL
 *		
 * Paramters :
 *    CKBehaviorPrototype w ppProto
 *
 * Returns : CKERROR - Standard virtools return type
 *
 *******************************************************************
 */
CKERROR CGBLLOGetMOStatus::CreateBehaviourPrototype(CKBehaviorPrototype** ppProto)
{
	CKERROR err = CK_OK;

	// Create the CKBehaviorPrototype object
	CKBehaviorPrototype *pProto = CreateCKBehaviorPrototype("GBLLOStartMO");
	if (!pProto)
		return NULL;

	// Set the B-Ins, B-Outs, P-Ins and P-Outs
	if (eParamInputMO != pProto->DeclareInParameter("Set Measured Objective", CKGUID_CGBLMO_PARAMETER))
		assert(NULL);
	if (eParamOutputGetError != pProto->DeclareOutParameter("Get Error", GUID_TGBLERROR))
		assert(NULL);
	if (eParamOutputGetStatus != pProto->DeclareOutParameter("Get Status", CKPGUID_BOOL))
		assert(NULL);
	if (eBehInputStart != pProto->DeclareInput("InS tart"))
		assert(NULL);
	if (eBehOutputDone != pProto->DeclareOutput("Out Done"))
		assert(NULL);
	if (eBehOutputError != pProto->DeclareOutput("Out Error"))
		assert(NULL);
	
	// flags
	pProto->SetFlags(CK_BEHAVIORPROTOTYPE_NORMAL);

	// Set the behaviour function
	pProto->SetFunction(BehaviourFunction);

	// Everything must have gone OK, pass back Proto pointer to Virtools
	*ppProto = pProto;
	return err;
}
Пример #23
0
CKERROR CreateARTPlusPatternTransformationProto(CKBehaviorPrototype** pproto)
{
	CKBehaviorPrototype *proto = CreateCKBehaviorPrototype("Single Marker Transformation");
	if(!proto) 	return CKERR_OUTOFMEMORY;

//---	Inputs declaration
	proto->DeclareInput("In");

//---	Outputs declaration
	proto->DeclareOutput("Out");

//----- Input Parameters Declaration
	proto->DeclareInParameter("Object", CKPGUID_3DENTITY);
	proto->DeclareInParameter("Pattern Number",CKPGUID_INT, "0");
	proto->DeclareInParameter("Pattern Width (cm)", CKPGUID_FLOAT, "8.0");

//---	Output Parameters Declaration
	proto->DeclareOutParameter("Position",CKPGUID_VECTOR);
	proto->DeclareOutParameter("Quaternion",CKPGUID_QUATERNION);
	proto->DeclareOutParameter("Marker ID",CKPGUID_INT, "-1");
	proto->DeclareOutParameter("Detected",CKPGUID_BOOL, FALSE);
	proto->DeclareOutParameter("Transformation Matrix",CKPGUID_MATRIX);

//----	Local Parameters Declaration

//----	Settings Declaration

	proto->SetFlags(CK_BEHAVIORPROTOTYPE_NORMAL);
	proto->SetBehaviorCallbackFct(ARTPlusPatternTransformationCB,CKCB_BEHAVIORBASE|CKCB_BEHAVIOREDITIONS|CKCB_BEHAVIORPAUSE|CKCB_BEHAVIORREADSTATE|CKCB_BEHAVIORRESET|CKCB_BEHAVIORACTIVATESCRIPT|CKCB_BEHAVIORDEACTIVATESCRIPT|CKCB_BEHAVIORRESUME|CKCB_BEHAVIORLOAD|CKCB_BEHAVIORNEWSCENE,NULL);
	proto->SetFunction(ARTPlusPatternTransformation);

	*pproto = proto;
	return CK_OK;
}
Пример #24
0
CKERROR CreatePacketIteratorProto(CKBehaviorPrototype **pproto)
{
	CKBehaviorPrototype *proto = CreateCKBehaviorPrototype(GBL_CI_API_ENTRY("PacketIterator"));
	if(!proto) return CKERR_OUTOFMEMORY;

	proto->DeclareInput("On/Reset");
	proto->DeclareOutput("Exit On/Reset");

	proto->DeclareInput("Loop In");
	proto->DeclareOutput("Loop Out");
	
	proto->DeclareOutParameter("Target user id", CKPGUID_INT,"-1");
	proto->DeclareOutParameter("Data", CKPGUID_STRING,"");
	proto->DeclareOutParameter("Header", CKPGUID_STRING,"");
	proto->DeclareOutParameter("PacketType", GUID_GBLCI_EPACKET_TYPE,"");
	proto->DeclareOutParameter("Time Stamp", CKPGUID_INT,"-1");
    
	proto->DeclareLocalParameter(NULL, CKPGUID_INT); // packet index

	if(!GBLDebugBuild)
	{
		proto->SetFlags(CK_BEHAVIORPROTOTYPE_HIDDEN);
	}else
	{
		proto->SetFlags(CK_BEHAVIORPROTOTYPE_NORMAL);
	}

	proto->SetFunction(PacketIterator);

	*pproto = proto;
	return CK_OK;
}
Пример #25
0
CKERROR GBLCOSetID::CreatePrototype( CKBehaviorPrototype** behaviorPrototypePtr )
{

#if GBL_RUNTIME
    // Not editable from Virtools Dev
    CKBehaviorPrototype *behaviorPrototype = CreateCKBehaviorPrototypeRunTime( "GBLCOSetID" );
#elif GBL_GAMEDEVELOPER
    // Edition depend on the BB.
    CKBehaviorPrototype *behaviorPrototype = CreateCKBehaviorPrototype( "GBLCOSetID" );
#else
    // Editable from Virtools Dev
    CKBehaviorPrototype *behaviorPrototype = CreateCKBehaviorPrototype( "GBLCOSetID" );
#endif

    if ( !behaviorPrototype )
        return CKERR_OUTOFMEMORY;

    //---     Inputs declaration
    behaviorPrototype->DeclareInput( "InSetIdentity" );

    //---     Outputs declaration
    behaviorPrototype->DeclareOutput( "OutIdentitySet" );
    behaviorPrototype->DeclareOutput( "OutError" );

    //---     Parameter Input declaration
    behaviorPrototype->DeclareInParameter("SetLAID", GUID_TGBLLAID);

    //---     Parameter Output declaration
    behaviorPrototype->DeclareOutParameter("GetError", GUID_TGBLERROR);

    behaviorPrototype->SetFunction(GBLCOSetID::BehaviourFunction);

    *behaviorPrototypePtr = behaviorPrototype;
    return CK_OK;
}
Пример #26
0
CKERROR CreateRetrieveCIProto(CKBehaviorPrototype **pproto)
{
	CKBehaviorPrototype *proto = CreateCKBehaviorPrototype(GBL_CI_API_ENTRY("RetrieveCI"));
	if(!proto) return CKERR_OUTOFMEMORY;

	proto->DeclareInput("Start");
	proto->DeclareOutput("Success");
	proto->DeclareOutput("Error");
	
	proto->DeclareInParameter("Configurable Information ID", CKPGUID_INT);

	proto->DeclareOutParameter("Configurable Information Value", CKPGUID_STRING);

	proto->DeclareOutParameter("GetErrorCode", GUID_TGBLERROR);

	proto->DeclareSetting("Get value as string",CKPGUID_BOOL,"FALSE");
	proto->DeclareSetting("Output custom values",CKPGUID_BOOL,"FALSE");

	proto->SetBehaviorFlags((CK_BEHAVIOR_FLAGS)( CKBEHAVIOR_VARIABLEPARAMETEROUTPUTS ));
	proto->SetFlags(CK_BEHAVIORPROTOTYPE_NORMAL);
	proto->SetBehaviorCallbackFct(RetrieveCICB);
	proto->SetFunction(RetrieveCI);

	*pproto = proto;
	return CK_OK;
}
Пример #27
0
//************************************
// Method:    CreateJDestroyProto
// FullName:  CreateJDestroyProto
// Access:    public 
// Returns:   CKERROR
// Qualifier:
// Parameter: CKBehaviorPrototype **pproto
//************************************
CKERROR CreateJDestroyProto(CKBehaviorPrototype **pproto)
{
	CKBehaviorPrototype *proto = CreateCKBehaviorPrototype("PJDestroy");
	if(!proto) return CKERR_OUTOFMEMORY;

	/*! \page PJDestroy  

	<br>
	PJDestroy is categorized in \ref Joints
	<br>
	<br>See <A HREF="PJDestroy.cmo">PJDestroy.cmo</A>.

	<h3>Description</h3>
	Apply to a <A HREF="Documentation.chm::/beobjects/1_ck3dentity.html">3DEntity</A><br>
	Deletes a joint, given by references and type.

	<br>

	<h3>Technical Information</h3>

	\image html PJDestroy.png


	<SPAN CLASS="in">In: </SPAN> triggers the process
	<BR>
	<SPAN CLASS="out">Out: </SPAN> is activated when the process is completed.
	<BR>

	<SPAN CLASS="pin">Body B: </SPAN> The second body. Leave blank to create a joint constraint with the world. 
	<BR>

	<SPAN CLASS="pin">Joint Type:</SPAN> The joint type. This helps the building block to identify a joint constraint. As usual there can be only one joint of the type x between two bodies.
	<BR>

	<b>Sleeping:</b> This call wakes the actor(s) if they are sleeping.

	Is utilizing #pRigidBody #pWorld #PhysicManager #pWorld::deleteJoint().<br>
	*/

	proto->DeclareInput("In");
	proto->DeclareOutput("Out");

	proto->SetBehaviorCallbackFct( JDestroyCB );
	
	proto->DeclareInParameter("Body B",CKPGUID_3DENTITY,"ball2");
	proto->DeclareInParameter("Type",VTE_JOINT_TYPE,"");

	proto->SetFlags(CK_BEHAVIORPROTOTYPE_NORMAL);
	proto->SetBehaviorFlags(CKBEHAVIOR_TARGETABLE);

	proto->SetFunction(JDestroy);
	*pproto = proto;
	return CK_OK;
}
Пример #28
0
//************************************
// Method:    CreatePClothDetachFromShapeProto
// FullName:  CreatePClothDetachFromShapeProto
// Access:    public 
// Returns:   CKERROR
// Qualifier:
// Parameter: CKBehaviorPrototype **pproto
//************************************
CKERROR CreatePClothDetachFromShapeProto(CKBehaviorPrototype **pproto)
{
	CKBehaviorPrototype *proto = CreateCKBehaviorPrototype("PClothDetachFromShape");
	if(!proto) return CKERR_OUTOFMEMORY;

	proto->DeclareInput("In");
	proto->DeclareOutput("Out");

	/*! \page PClothDetachFromShape  

	PClothDetachFromShape is categorized in \ref Clothes

	<h3>Description</h3>
	Apply to a <A HREF="Documentation.chm::/beobjects/1_ck3dentity.html">3DEntity</A><br>
	Detaches the cloth from a shape it has been attached to before<br>

	@see pCloth::detachFromShape()

	<h3>Technical Information</h3>

	\image html PClothDetachFromShape.png

	<SPAN CLASS="in">In: </SPAN>triggers the process
	<BR>
	<SPAN CLASS="out">Out: </SPAN>is activated when the process is completed.
	<BR>
	<BR>
	
	
	<SPAN CLASS="pin">Target: </SPAN>Target cloth reference.
	<BR>
	<BR>

	<SPAN CLASS="pin">Shape Reference: </SPAN>Shape to which the cloth should be attached to.

	
	<BR>
	<BR>

	<SPAN CLASS="pin">Attachment Flags: </SPAN>One or two way interaction, tearable or non-tearable
	*/

	proto->SetBehaviorCallbackFct( PClothDetachFromShapeCB );
	proto->DeclareInParameter("Shape Reference",CKPGUID_3DENTITY);


	
	proto->SetFlags(CK_BEHAVIORPROTOTYPE_NORMAL);
	proto->SetBehaviorFlags(CKBEHAVIOR_TARGETABLE);
	
	proto->SetFunction(PClothDetachFromShape);
	*pproto = proto;
	return CK_OK;
}
/*
 *******************************************************************
 * Function: CKERROR CreatePrototype( CKBehaviorPrototype** behaviorPrototypePtr )
 *
 * Description : The prototype creation function will be called the first time 
 *               a behavior must be created to create the CKBehaviorPrototype 
 *               that contains the description of the behavior.
 *
 * Parameters :
 *    behaviorPrototypePtr    w   Pointer to a CKBehaviorPrototype object that 
 *                                describes the behavior's internal structure 
 *                                and relationships with other objects.
 *
 * Returns : CKERROR
 *
 *******************************************************************
 */
CKERROR CGBLDecodeAndDistribute::CreateProto(CKBehaviorPrototype** pproto)
{
	CKBehaviorPrototype *proto = CreateCKBehaviorPrototype("GBLFCDecodeAndDistribute");
	if (!proto) 
    {
		return CKERR_OUTOFMEMORY;
	}

//---     Inputs declaration

    /**
	 * Start decoding the received string containing the target  GBLWaitForCommand
	 * block ID and command parameters and send it locally to the target
	 * GBLWaitForCommand BB.
	 */
	proto->DeclareInput("Decode");

//---     Outputs declaration

    /**
	 * The operation was successful, the command has been sent correctly.
	 */
	proto->DeclareOutput("OperationSuccessful");

    /**
	 * Activates when an error occurred during the execution of the BB (the type of
	 * error is given by the GetError parameter output).
	 */
	proto->DeclareOutput("Error");

//---     Input Parameters declaration

    /**
	 * Defines the string in which the command is encoded.
	 */
	proto->DeclareInParameter("CommandString", CKPGUID_STRING);

//---     Output Parameters declaration
    /**
	 * Parameter output that returns the description for an error that occurred.
	 */
	proto->DeclareOutParameter("Error", GUID_TGBLERROR);

//----	Local Parameters Declaration

//----	Settings Declaration
	proto->SetBehaviorFlags((CK_BEHAVIOR_FLAGS)(CKBEHAVIOR_MESSAGESENDER));
	proto->SetBehaviorCallbackFct(CGBLDecodeAndDistribute::CallBack, NULL, NULL);
	proto->SetFunction(CGBLDecodeAndDistribute::BehaviourFunction);

	*pproto = proto;
	return CK_OK;
}
Пример #30
0
CKERROR CreateGetCurrentCameraProto(CKBehaviorPrototype **pproto)
{
	CKBehaviorPrototype *proto = CreateCKBehaviorPrototype("Get Current Camera");
	if(!proto) return CKERR_OUTOFMEMORY;

	proto->DeclareInput("In");
	proto->DeclareOutput("Out");
	
	proto->DeclareOutParameter("Current Camera",CKPGUID_CAMERA);

	proto->SetFlags(CK_BEHAVIORPROTOTYPE_NORMAL);
	proto->SetFunction(GetCurrentCamera);

	*pproto = proto;
	return CK_OK;
}