C3D Toolkit  Kernel - 106477, Vision - 190409.106477

Класс BoxGeometry представляет геометрию в виде параллелепипеда, который строится по заданным параметрам: ширина, высота и длина. Подробнее...

#include <vsn_boxgeometry.h>

+ Граф наследования:BoxGeometry:
+ Граф связей класса BoxGeometry:

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

 BoxGeometry (Node *pParent=nullptr)
 Конструктор по умолчанию.
 
 BoxGeometry (double width, double length, double height, Node *pParent=nullptr)
 Конструктор по ширине, длине и высоте.
 
virtual ~BoxGeometry ()
 Деструктор.
 
double GetWidth () const
 Вернуть ширину параллелепипеда.
 
double GetLength () const
 Вернуть длину параллелепипеда.
 
double GetHeight () const
 Вернуть высоту параллелепипеда.
 
virtual const MbCubeGetBoundingBox () override
 Установить ширину параллелепипеда. Подробнее...
 
virtual void UpdateGeometry () override
 Обновить геометрию по новым данным.
 
- Открытые члены унаследованные от MeshGeometry
 MeshGeometry (Node *pParent=nullptr)
 Конструктор по умолчанию.
 
virtual ~MeshGeometry ()
 Деструктор.
 
virtual size_t GetFaceCount (size_t indexLod) const
 Получить число граней.
 
virtual size_t GetVertexCount () const
 Получить число вершин.
 
size_t GetNormalCount () const
 Получить число нормалей.
 
bool IsActiveColorVertex () const
 Является ли цвет вершины активным.
 
void SetActiveColorVertex (bool bActive)
 Задать необходимость использования индексированных цветов в вершинах.
 
size_t GetLevelsDetail () const
 Получить число уровней детализации.
 
std::vector< float > GetPositions () const
 Получить контейнер позиций.
 
std::vector< float > GetNormals () const
 Получить контейнер нормалей.
 
std::vector< float > GetTexels () const
 Получить контейнер текселей.
 
bool IsExistTriangles (int indexLod, NodeKey materialId) const
 Находится ли триангуляция в контейнере уровней детализации.
 
std::vector< uint > GetTriIndices (int indexLod, NodeKey materialId) const
 Получить указанные индексы триангуляции.
 
std::list< uint > GetSimilarTriStripsFansIndex (int lod, NodeKey materialId)
 Получить индексы треугольников, не зависящие от уровня детализации и материала.
 
size_t GetTriangleCount (int lod, NodeKey materialId) const
 Получить число треугольников в массиве уровней детализации.
 
bool IsExistStrips (int lod, NodeKey materialId) const
 Содержит ли объект сетку с заданным материалом.
 
std::vector< std::vector< uint > > GetTriStripsIndex (int lod, NodeKey materialId) const
 Получить индексы триангуляции.
 
int GetTriStripCount (int lod, NodeKey materialId) const
 Получить число треугольников, соответствующих уровню детализации.
 
bool IsExistFans (int lod, NodeKey materialId) const
 Есть ли треугольники, соответствующие заданному уровню детализации и материалу.
 
std::vector< std::vector< uint > > GetTriFansIndex (int lod, NodeKey materialId) const
 Получить индексы триангуляции.
 
int GetTriFansCount (int lod, NodeKey materialId) const
 Получить количество треугольников, соответствующих уровню детализации и материалу.
 
bool IsExistLevelOfDetail (int lod) const
 Есть ли уровень детализации с заданным идентификатором.
 
bool LevelOfDetailIncludesMaterial (int lod, NodeKey materialId) const
 Включен ли материал для указанного уровня детализации.
 
double GetAccuracyLevelOfDetail (int lod) const
 Получить точность расчёта заданного уровня детализации.
 
uint GetNextPrimitiveId () const
 Получить идентификатор следующего примитива.
 
MaterialGetMaterialPrimitiveById (uint id, int lod=0) const
 Получить материал примитива по указанному идентификатору и уровню детализации.
 
std::set< uint > GetArrayIDsPrimitives () const
 Получить идентификаторы примитивов.
 
bool IsEmpty () const
 Пуст ли объект.
 
MeshGeometryCreateMeshByIndexLod (int lodIndex)
 Создать сетку уровня детализации.
 
MeshGeometryCreateMeshFromByIndexLod (int lodIndex)
 Создать сетку уровня детализации.
 
virtual void TransformVerticesByMatrix (const MbMatrix3D &matrix) override
 Преобразовать вершины сетки по матрице.
 
virtual double GetVolume ()
 Получить объем геометрии.
 
virtual void UpdateMesh (MbMesh *pMeshItem)
 Обновить полигональную модель объекта.
 
virtual void Clear ()
 Очистить всю геометрию.
 
void ClearMeshGeometry ()
 Очистить объект и все уровни детализации.
 
void AddVertices (const std::vector< float > &vertices)
 Добавить координаты вершин.
 
void AddNormals (const std::vector< float > &normals)
 Добавить нормали.
 
void AddTexels (const std::vector< float > &texels)
 Добавить тексели.
 
void AddColors (const std::vector< float > &colors)
 Добавить цвета.
 
uint AddTriangles (TypeTriangulation type, Material *pMaterial, const std::list< uint > &, int lod=0, double accuracy=0.0)
 Добавить триангуляцию и вернуть идентификатор.
 
void ReverseNormals ()
 Инвертировать направление всех нормалей.
 
void CloseMesh ()
 Завершить подготовку объекта, данные которого заданы.
 
virtual void SetLevelDetail (int value)
 Задать уровень детализации от 0 до 100.
 
virtual void ReplaceMainMaterial (Material *)
 Заменить основной материал указанным.
 
void ReplaceMaterial (NodeKey, Material *)
 Заменить материал с заданным идентификатором.
 
void SetNextLocalId (uint id)
 Задать идентификатор примитива.
 
void SetWireframeColor (const Color &color)
 Задать цвет каркаса.
 
virtual void DuplicateVertexBufferToClientSide ()
 Скопировать буфер вершин в память.
 
virtual void ReleaseVertexBufferClientSide (bool update)
 Сформировать буфер вершин.
 
virtual void SetUseVertexBufferObjects (bool usage) override
 True, если буфер вершин используется.
 
- Открытые члены унаследованные от WireframeGeometry
 WireframeGeometry (Node *pParent=nullptr)
 Конструктор.
 
virtual ~WireframeGeometry ()
 Деструктор.
 
bool IsValid () const
 Действительна ли геометрия.
 
bool HasMaterial () const
 Задан ли материал.
 
MaterialGetHeadMaterial () const
 Получить первый материал из таблицы.
 
size_t GetMaterialCount () const
 Получить число материалов из таблицы.
 
MaterialGetMaterialById (NodeKey id) const
 Получить указатель, соответствующий идентификатору.
 
std::set< Material * > GetMaterialSet () const
 Получить таблицу материалов.
 
std::list< NodeKeyGetMaterialIds () const
 Получить список идентификаторов материалов.
 
bool HasMaterialById (NodeKey id) const
 Существует ли в таблице материал с заданным идентификатором.
 
const MbCubeGetWireBoundingBox ()
 Получить габаритный куб каркаса.
 
bool IsBoundingBoxValid () const
 Является ли габаритный куб допустимым.
 
bool IsTransparent () const
 Прозрачна ли геометрия.
 
bool IsExistTransparentMaterials () const
 Имеется ли прозрачный материал в таблице.
 
bool IsColorEachVertex () const
 Задан ли цвет каждой вершины.
 
void SetColorEachVertex (bool bColorEachVertex)
 Установить флаг назначения цвета для каждой вершины.
 
bool IsWireframe () const
 Является ли геометрия каркасной.
 
double GetLineWidth () const
 Получить толщину линии(перегружены для удобства).
 
void SetLineWidth (double lineWidth)
 Задать толщину линии(перегружены для удобства).
 
Color GetWireframeColor () const
 Получить цвет каркаса(перегружены для удобства).
 
void SetWireframeColor (const Color &color)
 Задать цвет каркаса(перегружены для удобства).
 
Pen GetPen () const
 Получить перо.
 
void SetPen (const Pen &pen)
 Задать перо.
 
bool IsWireframeEmpty () const
 Получить кисть. Подробнее...
 
std::vector< float > GetWireFrameVertexPositions () const
 Получить позиции вершин.
 
int GetPolylineCount () const
 Получить число полилиний.
 
uint GetPolylineOffset (int index) const
 Получить смещение полилинии с заданным индексом в контейнере.
 
int GetPolylineSize (int index) const
 Получить размер полилинии с данным индексом.
 
bool IsUsedVertexBuffer () const
 Используется ли вершинный буфер.
 
virtual bool IsIgnorePixelCulling () const
 Нужно ли учитывать геометрию в механизме PixelCulling.
 
virtual void IgnorePixelCulling (bool value)
 Запретить PixelCulling для этой геометрии.
 
void AddMaterial (Material *pMaterial)
 Добавить материал в таблицу.
 
virtual void UpdateTransparentMaterialCount () override
 Обновить число прозрачных материалов после операций с таблицей.
 
virtual void InvertNormals ()
 Инвертировать направление всех нормалей.
 
uint AddPoligonGroup (const std::vector< float > &vector)
 Добавить группу вершин и вернуть её идентификатор.
 
uint AddPoligonQuadrangleGroup (const std::vector< float > &vector)
 Добавить группу вершин четырехугольной сетки и вернуть её идентификатор.
 
void SetUseGlobalIdentifier (int global)
 Задать, будет ли использоваться глобальный идентификатор.
 
virtual void CopyVertexBufferToClientSide ()
 Скопировать буфер вершин в память.
 
virtual void DoRender (const RenderState &)
 Выполнить отрисовку.
 
- Открытые члены унаследованные от Geometry
 Geometry (Node *pParent=nullptr)
 Конструктор по умолчанию.
 
 Geometry (NodeKey id, const String &name)
 Конструктор.
 
virtual ~Geometry ()
 Деструктор.
 
std::vector< GeometryTraits * > GetGeometryTraits () const
 Вернуть список данных геометрии из этого объекта.
 
void AddGeometryTraits (GeometryTraits *pTraits)
 Добавить группу данных о геометрическом теле.
 
void RemoveGeometryTraits (GeometryTraits *pTraits)
 Удалить группу данных о геометрическом теле.
 
virtual bool IsAnnotation () const
 Проверить является ли геометрия аннатационным.
 
- Открытые члены унаследованные от Node
 Node (Node *pParent=nullptr)
 Конструктор по умолчанию.
 
 Node (const String &name)
 Конструктор по умолчанию.
 
 Node (NodeKey key, const String &name=String())
 Конструктор.
 
NodeKey GetUniqueKey () const
 Вернуть ключ, идентифицирующий экземпляр Node.
 
void SetUniqueKey (NodeKey key)
 Установить уникальный ключ для этого экземпляра.
 
NodeKey GetCustomKey () const
 Вернуть пользовательский ключ, идентифицирующий экземпляр Node.
 
void SetCustomKey (NodeKey key)
 Установить пользовательский уникальный ключ для этого экземпляра.
 
NodeGetParentNode () const
 Вернуть указатель на родительский объект или NULL, если родителя нет.
 
void SetParent (Node *pParent)
 Установить родительский объект для этого объекта.
 
bool IsNotificationsBlocked () const
 Вернуть True, если уведомления заблокированы, в противном случае False.
 
bool SetBlockNotifications (bool block)
 Установить блокировку уведомлений и вернуть предыдущее значение блокировки.
 
Nodeoperator= (const Node &other)
 Оператор присваивания.
 
- Открытые члены унаследованные от Object
 Object (const String &name=String())
 Конструктор по умолчанию.
 
 Object (Object *pParent)
 Конструктор c родителем.
 
virtual ~Object ()
 Деструктор.
 
void SetParent (Object *pParent)
 Установить родителя для объекта.
 
MutexGetMutex ()
 Мьютекс объекта.
 
String GetObjectName () const
 Получить имя объекта.
 
void SetObjectName (const String &name)
 Установить имя объекту.
 
bool IsControlType () const
 Вернуть тип объекта.
 
ObjectGetParent () const
 Вернуть указатель на родителя.
 
Variant GetProperty (const char *name) const
 Вернуть вариант свойства по имени.
 
bool IsSignalsBlocked () const
 Вернуть признак блокировки сигналов этого объекта.
 
void AddEventListener (Object *obj)
 Добавить слушателя событий.
 
void RemoveEventListener (Object *obj)
 Удалить слушателя событий.
 
ObjectGetSender () const
 Вернуть указатель на объект, который с генерировал сигнал.
 
Thread * GetThread () const
 NO TRANSLATION.
 
void BindWithThread (Thread *thread)
 Связывание c потоком.
 
int StartTimer (int interval, TimerType timerType=tt_CoarseTimer)
 NO TRANSLATION.
 
void KillTimer (int id)
 NO TRANSLATION.
 
const std::vector< Object * > & GetChildren () const
 Вернуть список указателей детей.
 
Objectoperator= (const Object &)
 Оператор присваивания.
 
- Открытые члены унаследованные от BasicObject
 BasicObject ()
 Конструктор по умолчанию.
 
virtual ~BasicObject ()
 Деструктор.
 

Дополнительные унаследованные члены

- Защищенные члены унаследованные от MeshGeometry
void RenderWireframe (const RenderState &state)
 Отрисовка каркаса.
 
 MeshGeometry (MeshGeometryPrivate &dd, Node *pParent)
 Конструктор для внутреннего использования.
 
- Защищенные члены унаследованные от WireframeGeometry
virtual void OGLInitGeom (const RenderState &)
 Выполнить отрисовку.
 
void ClearWireframe ()
 Очистить всю каркасную геометрию.
 
 WireframeGeometry (WireframeGeometryPrivate &dd, Node *pParent)
 Конструктор для внутреннего использования.
 
- Защищенные члены унаследованные от Geometry
 Geometry (GeometryPrivate &dd, Node *pParent)
 Конструктор для внутреннего использования.
 
- Защищенные члены унаследованные от Node
 Node (NodePrivate &dd, Node *pParent)
 Конструктор для внутреннего использования.
 
virtual ~Node ()
 Деструктор.
 
virtual void SceneModificationEvent (const std::shared_ptr< SceneModification > &modification)
 Эта функция вызывается, если произошли какие-либо изменения в сцене.
 

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

Класс BoxGeometry представляет геометрию в виде параллелепипеда, который строится по заданным параметрам: ширина, высота и длина.

Методы

◆ GetBoundingBox()

virtual const MbCube& BoxGeometry::GetBoundingBox ( )
overridevirtual

Установить ширину параллелепипеда.

Установить длину параллелепипеда. Установить высоту параллелепипеда. Модификация ширины параллелепипеда. Модификация длины параллелепипеда. Модификация высоты параллелепипеда. Вернуть ограничивающий параллелепипед.

Переопределяет метод предка MeshGeometry.


Объявления и описания членов класса находятся в файле: