Kigs Framework
Doc version 0.8
Open source multi purpose Rapid Application Development framework
|
#include <Octree.h>
Public Member Functions | |
void | AddNodeToMap (SceneNode *, OctreeSubNode *) |
add a node to the map More... | |
Public Member Functions inherited from Node3D | |
DECLARE_DECORABLE_2_PARAMS (bool, Cull, Node3D, TravState *, unsigned int) | |
virtual void | TravDraw (TravState *state) |
virtual void | TravCull (TravState *state) |
bool | addItem (const CMSP &item, ItemPosition pos=Last DECLARE_DEFAULT_LINK_NAME) override |
add item at first or last position | |
bool | removeItem (const CMSP &item DECLARE_DEFAULT_LINK_NAME) override |
void | localMove (const v3f &move) |
move local node position ( pos = move + pos ) | |
void | globalMove (const v3f &move) |
move global node position ( gpos = gmove + gpos ) | |
Public Member Functions inherited from SceneNode | |
bool | addItem (const CMSP &item, ItemPosition pos=Last DECLARE_DEFAULT_LINK_NAME) override |
add item at first or last position | |
Public Member Functions inherited from CoreModifiable | |
void | Init () |
Modifiable managmenent. | |
void | EmptyItemList () |
remove all items (sons) | |
CMSP | GetInstanceByPath (const std::string &path) |
return the instance corresponding to the given path in sons tree | |
std::string | GetRuntimeID () const |
ID. | |
CoreModifiableAttribute * | getAttribute (KigsID labelid) const |
Attribute management. | |
u32 | getNbArrayElements (KigsID attributeLabel) const |
return element count for an array type attribute | |
template<typename attribute_type , typename value_type > | |
attribute_type * | AddDynamicAttribute (KigsID ID, const value_type &value) |
Dynamic attribute management. | |
const kigs::unordered_map< KigsID, ModifiableMethodStruct > * | GetMethods () |
Method management. | |
bool | aggregateWith (CMSP &item, ItemPosition pos=Last) |
Aggregate management. | |
void | flagAsNotificationCenterRegistered () |
Flags. | |
void | InitParametersFromList (const std::vector< CoreModifiableAttribute * > *params) |
Utility. More... | |
virtual void | UninitModifiable () |
called when InitModifiable has failled : reset read/write flag on all init params More... | |
virtual void | ProtectedDestroy () |
Destroy method decrement refcounter and delete instance if no more used. More... | |
virtual bool | removeItem (const CMSP &item) |
remove item (son) | |
Protected Member Functions | |
CullingObject::CULLING_RESULT | CullSubNodes (CullingObject *obj, TravState *state) |
list of culling object | |
void | InitModifiable () override |
default modifiable init : set all initparams to readonly and set initflag to true More... | |
Protected Member Functions inherited from Node3D | |
void | removeUser (CoreModifiable *user) override |
remove user (parent) | |
void | addUser (CoreModifiable *user) override |
add the given parent to list | |
void | PreDrawDrawable (TravState *state) |
call predraw for drawable sons of this node return true if at least one drawable son was found More... | |
void | DrawDrawable (TravState *state) |
call draw for drawable sons of this node More... | |
void | PostDrawDrawable (TravState *state) |
call postdraw for drawable sons of this node More... | |
void | RecomputeGlobalToLocal () |
void | RecomputeGlobalBoundingBox () |
Protected Member Functions inherited from CoreModifiable | |
void | UpdateAggregates (const Timer &timer, void *addParam) |
Internals. | |
void | Export (std::vector< CoreModifiable * > &savedList, XMLNode *currentNode, bool recursive, ExportSettings *settings) |
Export. More... | |
CoreModifiableAttribute * | GenericCreateDynamicAttribute (CoreModifiable::ATTRIBUTE_TYPE type, KigsID ID) |
create and add dynamic attribute except arrays | |
Protected Attributes | |
SP< OctreeSubNode > | mRootSubNode |
root of the octree | |
maVect3DF | mBoundingBoxMin |
min point of the bounding box | |
maVect3DF | mBoundingBoxMax |
max point of the bounding box | |
maInt | mSubdivideLevel |
subdivide level | |
maInt | mMaxRecursiveLevel |
max recursive level | |
maEnum< 4 > | mQuadTreeAxis |
if we only want a quadtree | |
kigs::unordered_map< SceneNode *, OctreeSubNode * > | mObjectNodeAssociation |
map of scene node | |
Protected Attributes inherited from Node3D | |
unsigned int | mIsVisible |
valid after scene TravCull : mIsVisible store current frame index if object is visible | |
unsigned short | mFirstVisibleNodeIndex |
first visible Node in ModuleSceneGraph::mVisiblesNodeList | |
unsigned short | mVisibleNodeCount |
number of visible node | |
Matrix3x4 | mTransform |
Local transformation matrix (father => this local coordinate system) | |
Matrix3x4 | mLocalToGlobal |
Local to global transformation matrix (Local coordinate system => global "world" coordinate system) | |
Matrix3x4 | mGlobalToLocal |
Global to local transformation matrix (Global "world" coordinate system => local coordinate system) | |
BBox | mLocalBBox |
AABounding box in local coordinate system. | |
BBox | mBBox |
AABounding box in father coordinate system. | |
BBox | mGlobalBBox |
AABounding box in global "world" coordinate system. | |
Friends | |
class | OctreeSubNode |
Additional Inherited Members | |
Static Public Member Functions inherited from CoreModifiable | |
static std::vector< CMSP > | GetRootInstances (const KigsID &cid, bool exactTypeOnly=false) |
static method : return the set of all root instances of the given type | |
static void | Append (std::string &XMLString, const std::list< CoreModifiable * > &toexport, bool recursive, ExportSettings *settings=nullptr) |
static method to export the several CoreModifiable to an XML file. if recursive flag is set to true, export also all sons tree More... | |
static void | Export (const std::string &filename, CoreModifiable *toexport, bool recursive=false, ExportSettings *settings=nullptr) |
static method to export the given CoreModifiable to an XML file. if recursive flag is set to true, export also all sons tree More... | |
static XMLNode * | ExportToXMLNode (CoreModifiable *toexport, XML *owner_xml_file, bool recursive, ExportSettings *settings=nullptr) |
static method to export the given CoreModifiable to an XML Node. if recursive flag is set to true, export also all sons tree More... | |
static std::string | ExportToXMLString (CoreModifiable *toexport, bool recursive, ExportSettings *settings=nullptr) |
static method to export the given CoreModifiable to an XML file. if recursive flag is set to true, export also all sons tree More... | |
static void | Export (std::string &XMLString, const std::list< CoreModifiable * > &toexport, bool recursive, ExportSettings *settings=nullptr) |
static method to export the several CoreModifiable to an XML file. if recursive flag is set to true, export also all sons tree More... | |
static CMSP | Import (const std::string &filename, bool noInit=false, bool keepImportFileName=false, ImportState *state=nullptr, const std::string &override_name="") |
return an new CoreModifiable instance using the description found in XML file given by name | |
static CMSP | GetInstanceByGlobalPath (const std::string &path) |
static method : return the instance corresponding to the given path, and given search start | |
static void | debugPrintfFullTree (int maxindent=3) |
Editor. More... | |
Static Protected Member Functions inherited from CoreModifiable | |
template<typename StringType > | |
static CMSP | Import (XMLNodeTemplate< StringType > *currentNode, CoreModifiable *currentModifiable, ImportState &importState) |
recusrive method to add sons and attributes found in the XML file | |
An octree subdivide it's bounding box in eight son to manage faster culling / sorting.
max point of the bounding box
Probably obsolete.
min point of the bounding box
max recursive level
if we only want a quadtree
subdivide level
void Octree::AddNodeToMap | ( | SceneNode * | node, |
OctreeSubNode * | subnode | ||
) |
add a node to the map
SceneNode | : node to add |
OctreeSubNode | : node map |
|
overrideprotectedvirtual |
default modifiable init : set all initparams to readonly and set initflag to true
already done ? then return
Reimplemented from Node3D.