mirror of
https://github.com/tribes2/engine.git
synced 2026-01-19 19:24:45 +00:00
50 lines
1.6 KiB
C++
50 lines
1.6 KiB
C++
//-----------------------------------------------------------------------------
|
|
// V12 Engine
|
|
//
|
|
// Copyright (c) 2001 GarageGames.Com
|
|
// Portions Copyright (c) 2001 by Sierra Online, Inc.
|
|
//-----------------------------------------------------------------------------
|
|
|
|
#ifndef _GRAPHTRANSIENT_H_
|
|
#define _GRAPHTRANSIENT_H_
|
|
|
|
class TransientNode : public RegularNode
|
|
{
|
|
friend class NavigationGraph;
|
|
GraphEdgeList mSearchEdges;
|
|
S32 mGroundStart;
|
|
const GraphNode * mClosest, * mSaveClosest;
|
|
const GraphNode * mFirstHook;
|
|
public:
|
|
TransientNode(S32 index);
|
|
|
|
GraphEdgeArray getEdges(GraphEdge*) const;
|
|
GraphEdgeArray getHookedEdges() const;
|
|
void informPushed();
|
|
void makeEdgeList(const Point3F& loc, const GraphNodeList& list);
|
|
void connectOutdoor(GraphNode* outdoorNode, bool all=true);
|
|
void setLoc(const Point3F& loc) {mLoc = loc;}
|
|
void setEdges(const GraphEdgeList& edges) {mEdges=edges;}
|
|
void setClosest(const GraphNode* closest) {mClosest=closest;}
|
|
Point3F getRenderPos() const;
|
|
S32 volumeIndex() const;
|
|
};
|
|
|
|
class GraphHookRequest
|
|
{
|
|
private:
|
|
TransientNode& getHook(S32 N);
|
|
S32 mIncarnation;
|
|
S32 mPairLookup;
|
|
|
|
public:
|
|
GraphHookRequest();
|
|
~GraphHookRequest();
|
|
TransientNode& getHook1() { return getHook(0); }
|
|
TransientNode& getHook2() { return getHook(1); }
|
|
bool iGrowOld() const;
|
|
void reset();
|
|
};
|
|
|
|
#endif
|