本文整理汇总了C++中checktype函数的典型用法代码示例。如果您正苦于以下问题:C++ checktype函数的具体用法?C++ checktype怎么用?C++ checktype使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了checktype函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: dJointSetPlane2DAngleParam
void dJointSetPlane2DAngleParam( dxJoint *joint,
int parameter, dReal value )
{
dUASSERT( joint, "bad joint argument" );
checktype( joint, Plane2D );
dxJointPlane2D* joint2d = ( dxJointPlane2D* )( joint );
joint2d->motor_angle.set( parameter, value );
}
开发者ID:JohnCrash,项目名称:ode,代码行数:8,代码来源:plane2d.cpp
示例2: dJointGetSliderAxis
void dJointGetSliderAxis ( dJointID j, dVector3 result )
{
dxJointSlider* joint = ( dxJointSlider* ) j;
dUASSERT ( joint, "bad joint argument" );
dUASSERT ( result, "bad result argument" );
checktype ( joint, Slider );
getAxis ( joint, result, joint->axis1 );
}
开发者ID:emperorstarfinder,项目名称:opensim-libs,代码行数:8,代码来源:slider.cpp
示例3: dJointGetPUAxis3
void dJointGetPUAxis3( dJointID j, dVector3 result )
{
dxJointPU* joint = ( dxJointPU* ) j;
dUASSERT( joint, "bad joint argument" );
dUASSERT( result, "bad result argument" );
checktype( joint, PU );
getAxis( joint, result, joint->axisP1 );
}
开发者ID:weilandetian,项目名称:Yoyo,代码行数:8,代码来源:pu.cpp
示例4: optboolean
static int
optboolean(lua_State *L, int narg, int def)
{
if (lua_isnoneornil(L, narg))
return def;
checktype (L, narg, LUA_TBOOLEAN, "boolean or nil");
return (int)lua_toboolean(L, narg);
}
开发者ID:zevv,项目名称:luaposix,代码行数:8,代码来源:_helpers.c
示例5: dJointGetHingeAxis
void dJointGetHingeAxis( dJointID j, dVector3 result )
{
dxJointHinge* joint = ( dxJointHinge* )j;
dUASSERT( joint, "bad joint argument" );
dUASSERT( result, "bad result argument" );
checktype( joint, Hinge );
getAxis( joint, result, joint->axis1 );
}
开发者ID:arpg,项目名称:Gazebo,代码行数:8,代码来源:hinge.cpp
示例6: dJointSetHingeAxis
void dJointSetHingeAxis( dJointID j, dReal x, dReal y, dReal z )
{
dxJointHinge* joint = ( dxJointHinge* )j;
dUASSERT( joint, "bad joint argument" );
checktype( joint, Hinge );
setAxes( joint, x, y, z, joint->axis1, joint->axis2 );
joint->computeInitialRelativeRotation();
}
开发者ID:arpg,项目名称:Gazebo,代码行数:8,代码来源:hinge.cpp
示例7: dJointGetPRAxis2
void dJointGetPRAxis2( dJointID j, dVector3 result )
{
dxJointPR* joint = ( dxJointPR* ) j;
dUASSERT( joint, "bad joint argument" );
dUASSERT( result, "bad result argument" );
checktype( joint, PR );
getAxis( joint, result, joint->axisR1 );
}
开发者ID:weilandetian,项目名称:Yoyo,代码行数:8,代码来源:pr.cpp
示例8: dJointSetScrewAnchor
void dJointSetScrewAnchor( dJointID j, dReal x, dReal y, dReal z )
{
dxJointScrew* joint = ( dxJointScrew* )j;
dUASSERT( joint, "bad joint argument" );
checktype( joint, Screw );
setAnchors( joint, x, y, z, joint->anchor1, joint->anchor2 );
joint->computeInitialRelativeRotation();
}
开发者ID:mylxiaoyi,项目名称:gazebo,代码行数:8,代码来源:screw.cpp
示例9: dJointSetPRAxis2
void dJointSetPRAxis2( dJointID j, dReal x, dReal y, dReal z )
{
dxJointPR* joint = ( dxJointPR* ) j;
dUASSERT( joint, "bad joint argument" );
checktype( joint, PR );
setAxes( joint, x, y, z, joint->axisR1, joint->axisR2 );
joint->computeInitialRelativeRotation();
}
开发者ID:weilandetian,项目名称:Yoyo,代码行数:8,代码来源:pr.cpp
示例10: dJointGetAMotorAngle
dReal dJointGetAMotorAngle( dJointID j, int anum )
{
dxJointAMotor* joint = ( dxJointAMotor* )j;
dAASSERT( joint && anum >= 0 && anum < 3 );
checktype( joint, AMotor );
if ( anum < 0 ) anum = 0;
if ( anum > 3 ) anum = 3;
return joint->angle[anum];
}
开发者ID:JdeRobot,项目名称:ThirdParty,代码行数:9,代码来源:amotor.cpp
示例11: dJointGetAMotorAxisRel
int dJointGetAMotorAxisRel( dJointID j, int anum )
{
dxJointAMotor* joint = ( dxJointAMotor* )j;
dAASSERT( joint && anum >= 0 && anum < 3 );
checktype( joint, AMotor );
if ( anum < 0 ) anum = 0;
if ( anum > 2 ) anum = 2;
return joint->rel[anum];
}
开发者ID:JdeRobot,项目名称:ThirdParty,代码行数:9,代码来源:amotor.cpp
示例12: dJointGetAMotorAxis
void dJointGetAMotorAxis( dJointID j, int anum, dVector3 result )
{
dxJointAMotor* joint = ( dxJointAMotor* )j;
dAASSERT( joint && anum >= 0 && anum < 3 );
checktype( joint, AMotor );
if ( anum < 0 ) anum = 0;
if ( anum > 2 ) anum = 2;
// If we're in Euler mode, joint->axis[1] doesn't
// have anything sensible in it. So don't just return
// that, find the actual effective axis.
// Likewise, the actual axis of rotation for the
// the other axes is different from what's stored.
if ( joint->mode == dAMotorEuler ) {
dVector3 axes[3];
joint->computeGlobalAxes(axes);
if (anum == 1) {
result[0]=axes[1][0];
result[1]=axes[1][1];
result[2]=axes[1][2];
} else if (anum == 0) {
// This won't be unit length in general,
// but it's what's used in getInfo2
// This may be why things freak out as
// the body-relative axes get close to each other.
dCalcVectorCross3( result, axes[1], axes[2] );
} else if (anum == 2) {
// Same problem as above.
dCalcVectorCross3( result, axes[0], axes[1] );
}
} else if ( joint->rel[anum] > 0 ) {
if ( joint->rel[anum] == 1 )
{
dMultiply0_331( result, joint->node[0].body->posr.R, joint->axis[anum] );
}
else
{
if ( joint->node[1].body ) // jds
{
dMultiply0_331( result, joint->node[1].body->posr.R, joint->axis[anum] );
}
else
{
result[0] = joint->axis[anum][0];
result[1] = joint->axis[anum][1];
result[2] = joint->axis[anum][2];
result[3] = joint->axis[anum][3];
}
}
}
else
{
result[0] = joint->axis[anum][0];
result[1] = joint->axis[anum][1];
result[2] = joint->axis[anum][2];
}
}
开发者ID:JohnCrash,项目名称:ode,代码行数:57,代码来源:amotor.cpp
示例13: dJointSetLMotorNumAxes
void dJointSetLMotorNumAxes( dJointID j, int num )
{
dxJointLMotor* joint = ( dxJointLMotor* )j;
dAASSERT( joint && num >= 0 && num <= 3 );
checktype( joint, LMotor );
if ( num < 0 ) num = 0;
if ( num > 3 ) num = 3;
joint->num = num;
}
开发者ID:Sosi,项目名称:open-dynamics-engine-svnmirror,代码行数:9,代码来源:lmotor.cpp
示例14: dJointPlanarSetAnchor
void dJointPlanarSetAnchor(dJointID joint, dVector3 anchor) {
dUASSERT( joint, "bad joint argument" );
checktype( joint, Plane2D );
dxPlanarJoint* planarJoint = (dxPlanarJoint*) joint;
dCopyVector3(planarJoint->anchor, anchor);
planarJoint->updatePlane();
}
开发者ID:fferri,项目名称:tvs,代码行数:9,代码来源:PlanarJoint.cpp
示例15: checklock_lockit
/**
* Locking routine.
* @param type: as passed by user.
* @param lock: as passed by user.
* @param func: caller location.
* @param file: caller location.
* @param line: caller location.
* @param tryfunc: the pthread_mutex_trylock or similar function.
* @param timedfunc: the pthread_mutex_timedlock or similar function.
* Uses absolute timeout value.
* @param arg: what to pass to tryfunc and timedlock.
* @param exclusive: if lock must be exclusive (only one allowed).
* @param getwr: if attempts to get writelock (or readlock) for rwlocks.
*/
static void
checklock_lockit(enum check_lock_type type, struct checked_lock* lock,
const char* func, const char* file, int line,
int (*tryfunc)(void*), int (*timedfunc)(void*, struct timespec*),
void* arg, int exclusive, int getwr)
{
int err;
int contend = 0;
struct thr_check *thr = (struct thr_check*)pthread_getspecific(
thr_debug_key);
checktype(type, lock, func, file, line);
if(!thr) lock_error(lock, func, file, line, "no thread info");
acquire_locklock(lock, func, file, line);
lock->wait_count ++;
thr->waiting = lock;
if(exclusive && lock->hold_count > 0 && lock->holder == thr)
lock_error(lock, func, file, line, "thread already owns lock");
if(type==check_lock_rwlock && getwr && lock->writeholder == thr)
lock_error(lock, func, file, line, "thread already has wrlock");
LOCKRET(pthread_mutex_unlock(&lock->lock));
/* first try; if busy increase contention counter */
if((err=tryfunc(arg))) {
struct timespec to;
if(err != EBUSY) log_err("trylock: %s", strerror(err));
to.tv_sec = time(NULL) + CHECK_LOCK_TIMEOUT;
to.tv_nsec = 0;
if((err=timedfunc(arg, &to))) {
if(err == ETIMEDOUT)
lock_error(lock, func, file, line,
"timeout possible deadlock");
log_err("timedlock: %s", strerror(err));
}
contend ++;
}
/* got the lock */
acquire_locklock(lock, func, file, line);
lock->contention_count += contend;
lock->history_count++;
if(exclusive && lock->hold_count > 0)
lock_error(lock, func, file, line, "got nonexclusive lock");
if(type==check_lock_rwlock && getwr && lock->writeholder)
lock_error(lock, func, file, line, "got nonexclusive wrlock");
if(type==check_lock_rwlock && getwr)
lock->writeholder = thr;
/* check the memory areas for unauthorized changes,
* between last unlock time and current lock time.
* we check while holding the lock (threadsafe).
*/
if(getwr || exclusive)
prot_check(lock, func, file, line);
finish_acquire_lock(thr, lock, func, file, line);
LOCKRET(pthread_mutex_unlock(&lock->lock));
}
开发者ID:Coder420,项目名称:bitmonero,代码行数:70,代码来源:checklocks.c
示例16: dolocal
int
dolocal(FILE *ofd, char *pre, int dowhat, int p, char *s)
{ int h, j, k=0; extern int nr_errs;
Ordered *walk;
Symbol *sp;
char buf[64], buf2[128], buf3[128];
if (dowhat == INIV)
{ /* initialize in order of declaration */
for (walk = all_names; walk; walk = walk->next)
{ sp = walk->entry;
if (sp->context
&& !sp->owner
&& strcmp(s, sp->context->name) == 0)
{ checktype(sp, s); /* fall through */
if (!(sp->hidden&16))
{ sprintf(buf, "((P%d *)pptr(h))->", p);
do_var(ofd, dowhat, buf, sp, "", " = ", ";\n");
}
k++;
} }
} else
{ for (j = 0; j < 8; j++)
for (h = 0; h <= 1; h++)
for (walk = all_names; walk; walk = walk->next)
{ sp = walk->entry;
if (sp->context
&& !sp->owner
&& sp->type == Types[j]
&& ((h == 0 && sp->nel == 1) || (h == 1 && sp->nel > 1))
&& strcmp(s, sp->context->name) == 0)
{ switch (dowhat) {
case LOGV:
if (sp->type == CHAN
&& verbose == 0)
break;
sprintf(buf, "%s%s:", pre, s);
{ sprintf(buf2, "\", ((P%d *)pptr(h))->", p);
sprintf(buf3, ");\n");
}
do_var(ofd, dowhat, "", sp, buf, buf2, buf3);
break;
case PUTV:
sprintf(buf, "((P%d *)pptr(h))->", p);
do_var(ofd, dowhat, buf, sp, "", " = ", ";\n");
k++;
break;
}
if (strcmp(s, ":never:") == 0)
{ printf("error: %s defines local %s\n",
s, sp->name);
nr_errs++;
} } } }
return k;
}
开发者ID:AustenConrad,项目名称:plan-9,代码行数:56,代码来源:pangen1.c
示例17: dJointSetBallAnchor2
void dJointSetBallAnchor2( dJointID j, dReal x, dReal y, dReal z )
{
dxJointBall* joint = ( dxJointBall* )j;
dUASSERT( joint, "bad joint argument" );
checktype( joint, Ball );
joint->anchor2[0] = x;
joint->anchor2[1] = y;
joint->anchor2[2] = z;
joint->anchor2[3] = 0;
}
开发者ID:nurF,项目名称:Brute-Force-Game-Engine,代码行数:10,代码来源:ball.cpp
示例18: dJointGetPUAngle2
dReal dJointGetPUAngle2( dJointID j )
{
dxJointUniversal* joint = ( dxJointUniversal* ) j;
dUASSERT( joint, "bad joint argument" );
checktype( joint, PU );
if ( joint->flags & dJOINT_REVERSE )
return joint->getAngle1();
else
return joint->getAngle2();
}
开发者ID:weilandetian,项目名称:Yoyo,代码行数:10,代码来源:pu.cpp
示例19: dJointGetPUAngles
void dJointGetPUAngles( dJointID j, dReal *angle1, dReal *angle2 )
{
dxJointUniversal* joint = ( dxJointUniversal* ) j;
dUASSERT( joint, "bad joint argument" );
checktype( joint, PU );
if ( joint->flags & dJOINT_REVERSE )
joint->getAngles( angle2, angle1 );
else
joint->getAngles( angle1, angle2 );
}
开发者ID:weilandetian,项目名称:Yoyo,代码行数:10,代码来源:pu.cpp
示例20: dJointSetPUAxis3
void dJointSetPUAxis3( dJointID j, dReal x, dReal y, dReal z )
{
dxJointPU* joint = ( dxJointPU* ) j;
dUASSERT( joint, "bad joint argument" );
checktype( joint, PU );
setAxes( joint, x, y, z, joint->axisP1, 0 );
joint->computeInitialRelativeRotations();
}
开发者ID:weilandetian,项目名称:Yoyo,代码行数:10,代码来源:pu.cpp
注:本文中的checktype函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论