Path-267: Support for rendering of new shape types an ui hookup.

meow-7.2.2
prep 2012-02-27 13:42:14 -05:00
parent 3b4e4f8bc9
commit 5f2ed985ab
3 changed files with 43 additions and 3 deletions

View File

@ -799,3 +799,38 @@ void LLFloaterPathfindingConsole::updatePathTestStatus()
mPathTestingStatus->setText((LLStringExplicit)statusText, styleParams);
}
BOOL LLFloaterPathfindingConsole::isRenderAnyShapes() const
{
if ( isRenderWalkables() || isRenderStaticObstacles() ||
isRenderMaterialVolumes() || isRenderExclusionVolumes() )
{
return true;
}
return false;
}
U32 LLFloaterPathfindingConsole::getRenderShapeFlags()
{
resetShapeRenderFlags();
if ( isRenderWalkables() )
{
setShapeRenderFlag( LLPathingLib::LLST_WalkableObjects );
}
if ( isRenderStaticObstacles() )
{
setShapeRenderFlag( LLPathingLib::LLST_ObstacleObjects );
}
if ( isRenderMaterialVolumes() )
{
setShapeRenderFlag( LLPathingLib::LLST_MaterialPhantoms );
}
if ( isRenderExclusionVolumes() )
{
setShapeRenderFlag( LLPathingLib::LLST_ExclusionPhantoms );
}
return mShapeRenderFlags;
}

View File

@ -95,6 +95,9 @@ public:
BOOL isRenderWorld() const;
void setRenderWorld(BOOL pIsRenderWorld);
BOOL isRenderAnyShapes() const;
U32 getRenderShapeFlags();
ERenderHeatmapType getRenderHeatmapType() const;
void setRenderHeatmapType(ERenderHeatmapType pRenderHeatmapType);
@ -133,6 +136,8 @@ private:
void generatePath();
void updatePathTestStatus();
void resetShapeRenderFlags() { mShapeRenderFlags = 0; }
void setShapeRenderFlag( LLPathingLib::LLShapeType type ) { mShapeRenderFlags |= (1<<type); }
LLRootHandle<LLFloaterPathfindingConsole> mSelfHandle;
LLCheckBoxCtrl *mShowNavMeshCheckBox;
@ -165,7 +170,7 @@ private:
LLPathingLib::PathingPacket mPathData;
bool mHasStartPoint;
bool mHasEndPoint;
U32 mShapeRenderFlags;
static LLHandle<LLFloaterPathfindingConsole> sInstanceHandle;
};

View File

@ -1015,9 +1015,9 @@ void render_navmesh( bool& allowRenderables, bool& exclusiveNavDraw )
exclusiveNavDraw = true;
}
//physics/exclusion shapes
if ( pathfindingConsole->isRenderExclusionVolumes() )
if ( pathfindingConsole->isRenderAnyShapes() )
{
llPathingLibInstance->renderNavMeshShapesVBO();
llPathingLibInstance->renderNavMeshShapesVBO( pathfindingConsole->getRenderShapeFlags() );
exclusiveNavDraw = true;
}
//User designated path