当前位置: 首页>>代码示例>>C++>>正文


C++ convertPositionToInternalRep函数代码示例

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


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

示例1: convertPositionToInternalRep

    /**
    get the hit position and return true if we hit something
    otherwise the result pos will be the dest pos
    */
    bool VMapManager::getObjectHitPos(unsigned int pMapId, float x1, float y1, float z1, float x2, float y2, float z2, float& rx, float &ry, float& rz, float pModifyDist)
    {
        bool result = false;
        rx=x2;
        ry=y2;
        rz=z2;
		if( m_maps[pMapId] != NULL )
		{
                Vector3 pos1 = convertPositionToInternalRep(x1,y1,z1);
                Vector3 pos2 = convertPositionToInternalRep(x2,y2,z2);
                Vector3 resultPos;
                MapTree* mapTree = m_maps[pMapId];
                result = mapTree->getObjectHitPos(pos1, pos2, resultPos, pModifyDist);
                resultPos = convertPositionToMangosRep(resultPos.x,resultPos.y,resultPos.z);
                rx = resultPos.x;
                ry = resultPos.y;
                rz = resultPos.z;
        }
        return result;
    }
开发者ID:AegisEmu,项目名称:AegisEmu,代码行数:24,代码来源:VMapManager.cpp

示例2: convertPositionToInternalRep

    bool VMapManager2::isInLineOfSight(unsigned int pMapId, float x1, float y1, float z1, float x2, float y2, float z2)
    {
        if (!isLineOfSightCalcEnabled()) return true;
        bool result = true;
        InstanceTreeMap::iterator instanceTree = iInstanceMapTrees.find(pMapId);
        if (instanceTree != iInstanceMapTrees.end())
        {
            // Don't calculate hit position, if wrong src/dest points provided!
            if (!VMAP::CheckPosition(x1, y1, z1) || !VMAP::CheckPosition(x2, y2, z2))
                return false;

            Vector3 pos1 = convertPositionToInternalRep(x1, y1, z1);
            Vector3 pos2 = convertPositionToInternalRep(x2, y2, z2);
            if (pos1 != pos2)
            {
                result = instanceTree->second->isInLineOfSight(pos1, pos2);
            }
        }
        return result;
    }
开发者ID:Jojo2323,项目名称:mangos3,代码行数:20,代码来源:VMapManager2.cpp

示例3: convertPositionToInternalRep

    bool VMapManager::isInLineOfSight(unsigned int pMapId, float x1, float y1, float z1, float x2, float y2, float z2)
    {
        bool result = true;
        if(isLineOfSightCalcEnabled() && iInstanceMapTrees.containsKey(pMapId))
        {
            Vector3 pos1 = convertPositionToInternalRep(x1,y1,z1);
            Vector3 pos2 = convertPositionToInternalRep(x2,y2,z2);
            if(pos1 != pos2)
            {
                MapTree* mapTree = iInstanceMapTrees.get(pMapId);
                result = mapTree->isInLineOfSight(pos1, pos2);
#ifdef _VMAP_LOG_DEBUG
                Command c = Command();
                                                            // save the orig vectors
                c.fillTestVisCmd(pMapId,Vector3(x1,y1,z1),Vector3(x2,y2,z2),result);
                iCommandLogger.appendCmd(c);
#endif
            }
        }
        return(result);
    }
开发者ID:801616,项目名称:mangos,代码行数:21,代码来源:VMapManager.cpp

示例4: convertPositionToInternalRep

 bool VMapManager2::getAreaInfo(unsigned int pMapId, float x, float y, float &z, uint32 &flags, int32 &adtId, int32 &rootId, int32 &groupId) const
 {
     bool result=false;
     InstanceTreeMap::const_iterator instanceTree = iInstanceMapTrees.find(pMapId);
     if (instanceTree != iInstanceMapTrees.end())
     {
         Vector3 pos = convertPositionToInternalRep(x, y, z);
         result = instanceTree->second->getAreaInfo(pos, flags, adtId, rootId, groupId);
         // z is not touched by convertPositionToMangosRep(), so just copy
         z = pos.z;
     }
     return(result);
 }
开发者ID:Aion2n,项目名称:mangos,代码行数:13,代码来源:VMapManager2.cpp

示例5: convertPositionToInternalRep

    bool VMapManager2::getAreaInfo(unsigned int mapId, float x, float y, float& z, uint32& flags, int32& adtId, int32& rootId, int32& groupId) const
    {
        if (!sDisableMgr->IsDisabledFor(DISABLE_TYPE_VMAP, mapId, NULL, VMAP_DISABLE_AREAFLAG))
        {
            InstanceTreeMap::const_iterator instanceTree = iInstanceMapTrees.find(mapId);
            if (instanceTree != iInstanceMapTrees.end())
            {
                Vector3 pos = convertPositionToInternalRep(x, y, z);
                bool result = instanceTree->second->getAreaInfo(pos, flags, adtId, rootId, groupId);
                // z is not touched by convertPositionToMangosRep(), so just copy
                z = pos.z;
                return result;
            }
        }

        return false;
    }
开发者ID:AwkwardDev,项目名称:StrawberryCore,代码行数:17,代码来源:VMapManager2.cpp

示例6: GetMapTree

    bool VMapManager2::getAreaInfo(unsigned int mapId, float x, float y, float& z, uint32& flags, int32& adtId, int32& rootId, int32& groupId) const
    {
        if (!IsVMAPDisabledForPtr(mapId, VMAP_DISABLE_AREAFLAG))
        {
            auto instanceTree = GetMapTree(mapId);
            if (instanceTree != iInstanceMapTrees.end())
            {
                Vector3 pos = convertPositionToInternalRep(x, y, z);
                bool result = instanceTree->second->getAreaInfo(pos, flags, adtId, rootId, groupId);
                // z is not touched by convertPositionToInternalRep(), so just copy
                z = pos.z;
                return result;
            }
        }

        return false;
    }
开发者ID:090809,项目名称:TrinityCore,代码行数:17,代码来源:VMapManager2.cpp

示例7: convertPositionToInternalRep

 //int gGetHeightCounter = 0;
 float VMapManager::getHeight(unsigned int pMapId, float x, float y, float z)
 {
     float height = VMAP_INVALID_HEIGHT;                 //no height
     if(isHeightCalcEnabled() && iInstanceMapTrees.containsKey(pMapId))
     {
         Vector3 pos = convertPositionToInternalRep(x,y,z);
         MapTree* mapTree = iInstanceMapTrees.get(pMapId);
         height = mapTree->getHeight(pos);
         if(!(height < inf()))
         {
             height = VMAP_INVALID_HEIGHT;               //no height
         }
         Command c = Command();
         c.fillTestHeightCmd(pMapId,Vector3(x,y,z),height);
         iCommandLogger.appendCmd(c);
     }
     return(height);
 }
开发者ID:AscNHalf,项目名称:AscNHalf,代码行数:19,代码来源:VMapManager.cpp


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