예제 #1
0
파일: joint.cpp 프로젝트: mylxiaoyi/gazebo
dxJoint::dxJoint( dxWorld *w ) :
        dObject( w )
{
    //printf("constructing %p\n", this);
    dIASSERT( w );
    flags = 0;
    node[0].joint = this;
    node[0].body = 0;
    node[0].next = 0;
    node[1].joint = this;
    node[1].body = 0;
    node[1].next = 0;
    dSetZero( lambda, 6 );
    dSetZero( lambda_erp, 6 );

    addObjectToList( this, ( dObject ** ) &w->firstjoint );

    w->nj++;
    feedback = 0;

    // Moved here by OSRF
    // Default to negative value, which means the current global value
    // will be used. If set non-negative, then this joint-specific 
    // value will be used.
    erp = -1;  // world->global_erp;
    cfm = -1;  // world->global_cfm;
}
예제 #2
0
/**
 * Add an object to the list of session objects
 *
 * @param session    the session
 * @param object     the object to add
 */
void addSessionObject(struct p11Session_t *session, struct p11Object_t *object)
{
	if (session->freeSessionObjNumber == 0) {
		session->freeSessionObjNumber = 0xA000;
	}

	object->handle = session->freeSessionObjNumber++;
	object->dirtyFlag = 0;

	addObjectToList(&session->sessionObjList, object);

	session->numberOfSessionObjects++;
}
예제 #3
0
dxJoint::dxJoint( dxWorld *w ) :
        dObject( w )
{
    //printf("constructing %p\n", this);
    dIASSERT( w );
    flags = 0;
    node[0].joint = this;
    node[0].body = 0;
    node[0].next = 0;
    node[1].joint = this;
    node[1].body = 0;
    node[1].next = 0;
    dSetZero( lambda, 6 );

    addObjectToList( this, ( dObject ** ) &w->firstjoint );

    w->nj++;
    feedback = 0;
}