C3D Kernel  104065
Открытые типы | Открытые члены | Открытые статические члены | Защищенные данные | Друзья
Класс c3d::IModelTree

Обобщенное дерево. Подробнее...

Граф наследования:c3d::IModelTree:
Inheritance graph
[см. легенду]

Полный список членов класса

Открытые типы

typedef std::pair
< IModelTreeNode
*, std::vector< IModelTreeNode * > > 
NodeBranch
typedef bool(CALL_DECLARATION
*FilterNodesFunc)(std typede 
bool )(CALL_DECLARATION *NodeToAddFunc)(const TapeBase *mem
typedef bool(CALL_DECLARATION
*FilterNodesFunc)(std typedef
MbItemData 
data )

Открытые члены

virtual void AddNode (const TapeBase *mem, const ClusterReference &ref)=0
 Добавить узел.
virtual void CloseNode (const TapeBase *mem)=0
virtual IModelTreeGetFilteredTree (const std::vector< MbItemData > &filters)=0
 Построить дерево из узлов, выбранных по фильтрам. Вызывающая функция несет ответственность за уничтожение дерева.
virtual IModelTreeGetFilteredTree (std::vector< IModelTreeNode * > &nodes)=0
 Построить дерево по заданным узлам. Вызывающая функция несет ответственность за уничтожение дерева.
virtual void SetNodeToAddFunction (NodeToAddFunc callback)
virtual void SetFilterFunction (FilterNodesFunc callback)
virtual writeroperator>> (writer &)=0
 Записать дерево.
virtual readeroperator<< (reader &)=0
 Прочитать дерево.
const std::vector
< IModelTreeNode * > & 
GetRoots () const
std::vector< IModelTreeNode * > & GetRoots ()
virtual VERSION GetVersion ()=0
 Версия дерева.
virtual void SetVersion (VERSION)=0

Открытые статические члены

static EXPORT_DECLARATION
IModelTree
CreateModelTree ()
 Создать экземпляр дерева.

Защищенные данные

NodeToAddFunc m_nodeToAddFunc
FilterNodesFunc m_filterFunc
std::vector< IModelTreeNode * > m_roots

Друзья

c3d::t_ofstream &CALL_DECLARATION operator<< (c3d::t_ofstream &file, IModelTree &tree)
 Операторы для записи дерева в поток в xml формате.
c3d::t_ofstream &CALL_DECLARATION operator<< (c3d::t_ofstream &file, const IModelTree &tree)
 Запись дерева в xml формате.

Подробное описание

Обобщенное дерево (может иметь несколько корней). Умеет записывать в поток и читаться из потока.


Определения типов

typedef std::pair<IModelTreeNode*,std::vector<IModelTreeNode*> > c3d::IModelTree::NodeBranch

Тип, представляющий листовой узел с ветвью дерева, ведущей к нему, начиная с корневого узла дерева.

typedef bool ( CALL_DECLARATION * FilterNodesFunc ) ( std typede c3d::IModelTree::bool)(CALL_DECLARATION *NodeToAddFunc)(const TapeBase *mem

Тип функции для выбора узлов дерева по фильтрам. Тип функции для определения, нужно ли добавлять объект в дерево модели, и заполнения данных узла.


Методы

virtual void c3d::IModelTree::CloseNode ( const TapeBase mem) [pure virtual]

Нотификация об окончании чтения/записи текущего узла.

Замещается в c3d::MbModelTree.

const std::vector<IModelTreeNode*>& c3d::IModelTree::GetRoots ( ) const [inline]

Доступ к корням дерева. Узел дерева может быть рекурсивно вложен (например, Instance может содержать сборку, которая содержит другой Instance, ссылающийся на эту же сборку).


Объявления и описания членов класса находятся в файле:
 Указатель Классы Пространства имен Файлы Функции Переменные Определения типов Перечисления Элементы перечислений Друзья Макросы