• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ dGeomDestroy函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C++中dGeomDestroy函数的典型用法代码示例。如果您正苦于以下问题:C++ dGeomDestroy函数的具体用法?C++ dGeomDestroy怎么用?C++ dGeomDestroy使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



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

示例1: destruirMundo

void destruirMundo()
{
    for(int i=0; i < 6; i++)//destruir Robos
    {
        dGeomDestroy (robot[i].box[0]);
        dGeomDestroy (robot[i].box[1]);
        dGeomDestroy (robot[i].cylinder[0]);
        dGeomDestroy (robot[i].cylinder[1]);
    }

    bola.destruir();

    for(int i=0; i < 6; i++) //destruir Campo
        dGeomDestroy(wall[i]);

    for(int i=0; i < 3; i++) //destruir Gols
    {
        dGeomDestroy(goalR[i]);
        dGeomDestroy(goalL[i]);
    }

    for(int i=0; i < 4; i++)//destruir Quinas
    {
        dGeomDestroy(triangle[i]);
    }

    dJointGroupDestroy(contactgroup);		// Destrói o grupo de juntas de contato
    dSpaceDestroy (space);					// Destrói o espaço
    dWorldDestroy (world);					// Destrói o mundo
}
开发者ID:unball,项目名称:ieee-very-small-2012,代码行数:30,代码来源:Simulation.cpp


示例2: dBodyDestroy

void SkidSteeringVehicle::destroy() {
    dBodyDestroy(this->vehicleBody);
    dGeomDestroy(this->vehicleGeom);
    
    for(int fr = 0; fr < 2; fr++) {
        for(int lr = 0; lr < 2; lr++) {
            dBodyDestroy(this->wheelBody[fr][lr]);
            dGeomDestroy(this->wheelGeom[fr][lr]);
            dJointDestroy(this->wheelJoint[fr][lr]);
        }
    }
    
    dRigidBodyArrayDestroy(this->bodyArray);
}
开发者ID:fferri,项目名称:tvs,代码行数:14,代码来源:SkidSteeringVehicle.cpp


示例3: dBodyDestroy

void Machine::destroy(void)
{
	int i;
	dBodyDestroy(body[0]);
	dBodyDestroy(body[1]);
	dGeomDestroy(geom[0]);
	dJointDestroy(joint);
	for(i=0; i<2; i++)
		dGeomDestroy(geom[i+2]);
	for(i=0; i<3; i++)
	{
		dBodyDestroy(wheel[i]);
		dGeomDestroy(sphere[i]);
	}
}
开发者ID:Eliasvan,项目名称:machineball,代码行数:15,代码来源:machine.cpp


示例4: dGeomDestroy

//-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~
CollisionShape::~CollisionShape()
{
    if( m_geometryId != NULL )
    {
        dGeomDestroy( m_geometryId );
    }
}
开发者ID:SgtFlame,项目名称:indiezen,代码行数:8,代码来源:CollisionShape.cpp


示例5: dCreateRay

	std::vector<RaycastResult> & ODESimulator::internal_fireRay(const Rayr& r,
	        real length, const Solid* attachedSolid,
	        unsigned int rayContactGroup)
	{
		Point3r origin = r.getOrigin();
		Vec3r dir = r.getDir().unit();

		mRaycastResults.clear();
		mSensorSolid = attachedSolid;
		mRayContactGroup = rayContactGroup;

		// Create an ODE ray geom.  Make sure its user data pointer is
		// NULL because this is used in the collision callback to
		// distinguish the ray from other geoms.
		dGeomID rayGeomID = dCreateRay(mRootSpaceID, length);
		dGeomRaySet(rayGeomID, origin[0], origin[1], origin[2], dir[0],
		             dir[1], dir[2]);
		dGeomSetData(rayGeomID, NULL);

		// Check for collisions.  This will fill mRaycastResult with valid
		// data.  Its Solid pointer will remain NULL if nothing was hit.
		dSpaceCollide2(rayGeomID, (dGeomID) mRootSpaceID, this,
		                &ode_hidden::internal_raycastCollisionCallback);

		// Finished with ODE ray, so destroy it.
		dGeomDestroy(rayGeomID);

		return mRaycastResults;
	}
开发者ID:sub77,项目名称:hobbycode,代码行数:29,代码来源:ODESimulator.cpp


示例6: stop

void stop()
{
    dGeomDestroy(mesh_geom);
    dGeomTriMeshDataDestroy(mesh_data);

    dBodyDestroy(ball1_body);
    dBodyDestroy(ball2_body);

    dGeomDestroy(ground);

    dJointGroupDestroy(contact_group);

    dSpaceDestroy(space); // will destroy all geoms

    dWorldDestroy(world);
}
开发者ID:Devilmore,项目名称:GoalBabbling,代码行数:16,代码来源:demo_tracks.cpp


示例7: DestroyGroupSpace

void	CPHGeometryOwner::	DestroyGroupSpace()
{
	if(m_group){
		dGeomDestroy((dGeomID)m_group);
		m_group=NULL;
	}
}
开发者ID:AntonioModer,项目名称:xray-16,代码行数:7,代码来源:PHGeometryOwner.cpp


示例8: dGeomDestroy

 void cPhysicsObject::DestroyGeom()
 {
   if (geom != NULL) {
     dGeomDestroy(geom);
     geom = NULL;
   }
 }
开发者ID:pilkch,项目名称:library,代码行数:7,代码来源:cPhysicsObject.cpp


示例9: resetMembers

void ComponentPhysicsGeom::load(const PropertyBag &data)
{
	resetMembers();

	desiredHeight = data.getFloat("height");
	collisionRadius = data.getFloat("radius");

	// Create as physics geometry
	if(geom){dGeomDestroy(geom);} geom=0;
	createGeom(data.getString("physicsGeometryType"));

	// Set initial position
	{
		vec3 position;
		if(data.get("position", position)) // optional tag
		{
			setPosition(position);
		}
	}

	// Declare the initial state
	getParentBlackBoard().relayMessage(MessagePositionHasBeenSet(getPosition()));
	getParentBlackBoard().relayMessage(MessageOrientationHasBeenSet(getOrientation()));
	getParentBlackBoard().relayMessage(MessageRequestSetHeight(desiredHeight));
}
开发者ID:foxostro,项目名称:heroman,代码行数:25,代码来源:ComponentPhysicsGeom.cpp


示例10: dGeomDestroy

LaserBeam::~LaserBeam()
{
    dGeomDestroy(geom);
    dBodyDestroy(me);

    printf("Good bye....\n");
}
开发者ID:faturita,项目名称:wakuseibokan,代码行数:7,代码来源:LaserBeam.cpp


示例11: dGeomDestroy

//==============================================================================
OdeMesh::~OdeMesh()
{
  dGeomDestroy(mGeomId);

  if (mOdeTriMeshDataId)
    dGeomTriMeshDataDestroy(mOdeTriMeshDataId);
}
开发者ID:erwincoumans,项目名称:dart,代码行数:8,代码来源:OdeMesh.cpp


示例12: Callback

Body* SimObjectRenderer::selectObject(const Vector3<>& projectedClick)
{
  if(&simObject != Simulation::simulation->scene)
    return nullptr;

  class Callback
  {
  public:
    Body* closestBody;
    float closestSqrDistance;
    const Vector3<>& cameraPos;

    Callback(const Vector3<>& cameraPos) : closestBody(0), cameraPos(cameraPos) {}

    static void staticCollisionCallback(Callback* callback, dGeomID geom1, dGeomID geom2)
    {
      ASSERT(!dGeomIsSpace(geom1));
      ASSERT(!dGeomIsSpace(geom2));
      ASSERT(dGeomGetBody(geom1) || dGeomGetBody(geom2));
      dContact contact[1];
      if(dCollide(geom1, geom2, 1, &contact[0].geom, sizeof(dContact)) < 1)
        return;

      dGeomID geom = geom2;
      dBodyID bodyId = dGeomGetBody(geom2);
      if(!bodyId)
      {
        bodyId = dGeomGetBody(geom1);
        geom = geom1;
      }
      const dReal* pos = dGeomGetPosition(geom);
      float sqrDistance = (Vector3<>((float) pos[0], (float) pos[1], (float) pos[2]) - callback->cameraPos).squareAbs();
      if(!callback->closestBody || sqrDistance < callback->closestSqrDistance)
      {
        callback->closestBody = (Body*)dBodyGetData(bodyId);
        callback->closestSqrDistance = sqrDistance;
      }
    }

    static void staticCollisionWithSpaceCallback(Callback* callback, dGeomID geom1, dGeomID geom2)
    {
      ASSERT(!dGeomIsSpace(geom1));
      ASSERT(dGeomIsSpace(geom2));
      dSpaceCollide2(geom1, geom2, callback, (dNearCallback*)&staticCollisionCallback);
    }
  };

  Callback callback(cameraPos);
  dGeomID ray = dCreateRay(Simulation::simulation->staticSpace, 10000.f);
  Vector3<> dir = projectedClick - cameraPos;
  dGeomRaySet(ray, cameraPos.x, cameraPos.y, cameraPos.z, dir.x, dir.y, dir.z);
  dSpaceCollide2(ray, (dGeomID)Simulation::simulation->movableSpace, &callback, (dNearCallback*)&Callback::staticCollisionWithSpaceCallback);
  dGeomDestroy(ray);

  if(!callback.closestBody)
    return nullptr;
  Body* body = callback.closestBody;
  return body->rootBody;
}
开发者ID:weilandetian,项目名称:Yoyo,代码行数:59,代码来源:SimObjectRenderer.cpp


示例13: dBodyDestroy

MyODEGeom::~MyODEGeom() {
    if (mBody) {
        dBodyDestroy(mBody);
    }
    if (mODEGeom) {
        dGeomDestroy(mODEGeom);
    }
}
开发者ID:ColinGilbert,项目名称:d-collide,代码行数:8,代码来源:odewrapper.cpp


示例14: dmDestroyBox0

// ジオメトリのみの物体を破壊する関数。例:ブロック崩しのブロック等
void dmDestroyBox0(dmObject *obj)
{
	if (obj->geom != NULL)  // ジオメトリが存在していれば
	{
		dGeomDestroy(obj->geom); // ジオメトリを破壊
		obj->geom = NULL;            // ポインタにNULLを設定
	}
}
开发者ID:Ry0,项目名称:ODE,代码行数:9,代码来源:dm6.cpp


示例15: n_assert

void CShape::Detach()
{
	n_assert(IsAttached());
	n_assert(ODEGeomID);
	dGeomDestroy(ODEGeomID);
	ODEGeomID = NULL;
	ODESpaceID = NULL;
}
开发者ID:moltenguy1,项目名称:deusexmachina,代码行数:8,代码来源:Shape.cpp


示例16: fflush

ODE_Particle::~ODE_Particle()
{
    /*printf("Particle=%u destructor!\n",id);
    fflush(stdout);*/
        
    dBodyDestroy(body);
    dGeomDestroy(geom);   
}
开发者ID:saneku,项目名称:ELAFoam,代码行数:8,代码来源:ODE_Particle.cpp


示例17: dGeomDestroy

CollidableObject::~CollidableObject()
{
	//Disconnect any objects in the scene
	mSceneNode->removeAndDestroyAllChildren();
	mSceneNode->getParentSceneNode()->removeAndDestroyChild(mSceneNode->getName());
	if(isInWorld)
		dGeomDestroy(mGeom);
}
开发者ID:SamBushman,项目名称:SlayADragon,代码行数:8,代码来源:CollisionDetection.cpp


示例18: Simulator_Destroy

void Simulator_Destroy(void) {

	dGeomDestroy(ground);
	dJointGroupDestroy (contactgroup);
	dSpaceDestroy (space);
	dWorldDestroy (world);
	dCloseODE();
}
开发者ID:jbongard,项目名称:ISCS,代码行数:8,代码来源:M3.cpp


示例19: QMP_CRITICAL

 Primitive::~Primitive () {
   QMP_CRITICAL(8);
   // 20091023; guettler:
   // hack for tasked simulations; there are some problems if running in parallel mode,
   // if you do not destroy the geom, everything is fine (should be no problem because world is destroying geoms too)
   if(destroyGeom && geom) dGeomDestroy( geom );
   if(body && ((mode & _Transform) == 0) ) dBodyDestroy( body );
   QMP_END_CRITICAL(8);
 }
开发者ID:CentreForBioRobotics,项目名称:lpzrobots,代码行数:9,代码来源:primitive.cpp


示例20: dGeomDestroy

void BoxObstacle::remove() {
	dGeomDestroy(boxGeom_);
	if (box_ != 0) {
		for(int i=0; i< dBodyGetNumJoints(box_); i++) {
			dJointDestroy(dBodyGetJoint(box_, i));
		}
		dBodyDestroy(box_);
	}
}
开发者ID:ci-group,项目名称:robot-baby,代码行数:9,代码来源:BoxObstacle.cpp



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ dGeomGetBody函数代码示例发布时间:2022-05-30
下一篇:
C++ dFree函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap