VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfObjectNavInterface.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
12 #include "vrfobjcore/simObject.h"
15 
16 class DtNavArea;
17 class DtLocalObject;
19 
40 {
41 private:
47  DtVrfObjectNavInterface& operator=(const DtVrfObjectNavInterface& orig);
48 
49 public:
50  //static DtVrfObjectNavInterface* create(DtVrfObject* vrfObject);
51 
53  virtual bool ableToNavigate() const;
54 
55 protected:
59 
61  virtual bool init();
62 
63 public:
64 
67  virtual void postObjectInit() {};
68 
69  virtual void tick();
70  virtual void firstTick();
71 
72  virtual ~DtVrfObjectNavInterface() = 0;
73 
74  virtual void addNavAreaChangedCallback(DtNoArgumentCallbackList::DtCallbackFunctionType callback, void* usr) const;
75  virtual void removeNavAreaChangedCallback(DtNoArgumentCallbackList::DtCallbackFunctionType callback, void* usr) const;
76  virtual void invokeNavAreaChangedCallbacks();
77 
79  virtual void changingNavArea(DtNavArea* newNavArea);
80 
82  virtual void setWaitingForLoad(bool isLoading);
83  virtual bool isWaitingForLoad() const;
84 
85 protected:
89  virtual bool isCollidableWhenDestroyed() const;
90 
91 protected:
98 
100 };
DtNoArgumentCallbackList myChangedNavAreaCallbackList
Definition: vrfObjectNavInterface.h:99
A nav interface is a software component of an object that maintains the object's presence in the navi...
Definition: vrfObjectNavInterface.h:39
void(* DtCallbackFunctionType)(void *)
The function signature of the callback function.
Definition: noArgumentCallbackList.h:155
The DtSimObjectReference is a shared pointer that can be used amongst many object for access to the u...
Definition: simObjectReference.h:26
DtNavArea * myCurrentNavArea
Definition: vrfObjectNavInterface.h:95
DtSimObjectReference mySimObjectReference
Definition: vrfObjectNavInterface.h:93
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
This class contains all the data and logic for navigation within a specific area. Nav Data may be loa...
Definition: navArea.h:206
This class works just as DtCalllbackTable, but manages callbacks that have no arguments, and therefore don't fit in the template defined by DtCallbackList.
Definition: noArgumentCallbackList.h:151
bool myFirstTick
Definition: vrfObjectNavInterface.h:96
virtual void postObjectInit()
Perform additional initialization after the object has been initialized. Default behavior is to do no...
Definition: vrfObjectNavInterface.h:67
Central access point of all non-object-specific the services and managers that are available for use ...
Definition: simulationServices.h:95
bool myIsWaitingForNavLoad
Definition: vrfObjectNavInterface.h:97
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
DtSimulationServices * mySimulationServices
Definition: vrfObjectNavInterface.h:94
DtLocalObject * myVrfObject
Definition: vrfObjectNavInterface.h:92
A locally simulated VRF object. Holds all internal and external data for the object, and provides access to both the current frame and next frame state data for the object. All current frame data is read-only, and next-frame data can be written to. No thread safety guarantees are made on this object during the simulation frame and it should only be accessed by the thread that is simulating the object.
Definition: localObject.h:86

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)