コード例 #1
0
ファイル: rCoverMonitor.cpp プロジェクト: dzw/kylin001v
KVOID Kylin::PhyX::CoverMonitor::Testing( KFLOAT fElapsed )
{
	if (!KylinRoot::GetSingletonPtr()->GetActiveCamera())
		return;

	Ogre::Ray kRay		= KylinRoot::GetSingletonPtr()->GetActiveCamera()->GetCameraToTargetRay();
	KFLOAT fDistance	= KylinRoot::GetSingletonPtr()->GetActiveCamera()->GetCameraDistance();
	KVEC<Ogre::Entity *> kEntities;
	if ( OgreUtils::PickEntities(kRay,kEntities,KylinRoot::KR_SCENE_OBJ,fDistance) )
	{
		for (int i = 0; i < kEntities.size(); i++)
		{
			if (!IsInclude(kEntities[i]))
			{
				EntityMaterialInstance* pEnt = KNEW EntityMaterialInstance(kEntities[i]);
				pEnt->setTransparency(COVER_OBJ_ALPHA);
				pEnt->setSceneBlending(SBT_TRANSPARENT_ALPHA);

				m_kCoverObj.push_back(pEnt);
			}
		}
		//////////////////////////////////////////////////////////////////////////
		KBOOL bFlag = false;
		for ( CoverObjs::iterator it = m_kCoverObj.begin();
			it != m_kCoverObj.end();
			it ++ )
		{
			bFlag = false;
			for (int i = 0; i < kEntities.size(); i++)
			{
				if ((*it)->getHost() == kEntities[i])
				{
					bFlag = true;
					break;
				}
			}
			if (bFlag = false)
			{
				SAFE_DEL((*it));
				it = m_kCoverObj.erase(it);
			}
		}
	}
	else
	{
		Destroy();
	}
}
コード例 #2
0
ファイル: address_finder.cpp プロジェクト: morsya/omim
    void operator() (FeatureType const & f)
    {
      feature::TypesHolder types(f);
      if (!types.Has(m_coastType) && NeedProcess(types))
      {
        double const d = f.GetDistance(m_pt, m_scale);
        ASSERT_GREATER_OR_EQUAL(d, 0.0, ());

        if (IsInclude(d, types))
        {
          string name;
          f.GetReadableName(name);
          string house = f.GetHouseNumber();

          // if geom type is not GEOM_POINT, result center point doesn't matter in future use
          m2::PointD const pt =
              (types.GetGeoType() == feature::GEOM_POINT) ? f.GetCenter() : m2::PointD();

          // name, house are assigned like move semantics
          m_cont.push_back(FeatureInfoT(GetResultDistance(d, types), types, name, house, pt));
        }
      }