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

Абстрактный класс представления. Подробнее...

Базовые классы:GLSurface, Object, GeomObject, ProcessEvent, InputEvent, InputEvent, ProcessEvent, Process, Process, Process, Process, Object, Object, GeomMeshObject, GeomMeshObject, GeomMeshObject, GeomMeshObject, GeomMeshObject, GeomMeshObject, GeomPolylineObject, GeomPolylineObject, GeomObject, Object, GeomObject, AbstractRep и Object.

Граф связей класса VSN_CLASS:
Collaboration graph
[см. легенду]

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

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

enum  ColorType {
  Invalid, Rgb, Hsv, Cmyk,
  Hsl
}
 Перечисление установок типов цветов.
enum  GLSurfaceClass { Window, Offscreen }
 Перечисление классов GLSurface. Подробнее...
enum  GLSurfaceType { OpenGLSurface, RasterGLSurface }
 Перечисление типов поверхностей. Подробнее...
enum  FormatOption { StereoBuffers = 0x0001, DebugContext = 0x0002, DeprecatedFunctions = 0x0004, ResetNotification = 0x0008 }
enum  SwapBehavior { DefaultSwapBehavior, SingleBuffer, DoubleBuffer, TripleBuffer }
enum  OpenGLContextProfile { NoProfile, KernelProfile, CompatibilityProfile }
enum  RenderableType { DefaultRenderableType = 0x0, OpenGL = 0x1, OpenGLES = 0x2, OpenVG = 0x4 }
enum  OpenGLLibraryType { LibraryOGL, LibraryGLES }
 Данное перечисление определяет тип базового реализацию OpenGL. Подробнее...
enum  GLProperties {
  Multitexture = 0x0001, Shaders = 0x0002, Buffers = 0x0004, Framebuffers = 0x0008,
  BlendColor = 0x0010, BlendEquation = 0x0020, BlendEquationSeparate = 0x0040, BlendFuncSeparate = 0x0080,
  BlendSubtract = 0x0100, CompressedTextures = 0x0200, Multisample = 0x0400, StencilSeparate = 0x0800,
  NPOTTextures = 0x1000, NPOTTextureRepeat = 0x2000, FixedFunctionPipeline = 0x4000, TextureRGFormats = 0x8000
}
enum  EventType {
  None = 0, LButtonDown, LButtonUp, LButtonDblClk,
  MButtonDown, MButtonUp, MButtonDblClk, RButtonDown,
  RButtonUp, RButtonDblClk, MouseMove, MouseWheel,
  MouseWheelUp, MouseWheelDown, Timer, KeyDown,
  KeyUp, Selection, JoyStickTranslate, JoyStickRotate,
  JoyStickButton, Camera, User = 500, MaxUser = 65535
}
 Тип события, который определяет состояние мыши, клавиатуры и подобных устройств в реальном режиме времени. Подробнее...
enum  IdProcess {
  PR_NoActive = 0, PR_Panoramic = 1, PR_Zoom, PR_Rotate,
  PR_Orbit
}
 Идентификаторы стандартных процессов. Подробнее...

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

 AbstractRep ()
 Конструктор по умолчанию.
 AbstractRep (const AbstractRep &other)
 Конструктор копирования.
virtual ~AbstractRep ()
 Деструктор.
virtual AbstractRep * Duplicate () const =0
 Сделать копию представления.
virtual AbstractRep * CreateRepNewGeometryData () const =0
 Создать представление с новыми геометрическими данными.
bool IsReferenceEmpty () const
 Является ли ссылка пустой.
virtual int GetRepType () const =0
 Вернуть тип представления.
void SetNameRep (const std::wstring &name)
 Задать имя представления.
const std::wstring & GetNameRep () const
 Вернуть имя представления.
virtual bool IsEmpty () const =0
 Является ли представление пустым.
bool IsLoaded () const
 Является ли представление загруженным.
virtual AbstractRep & operator= (const AbstractRep &)
 Оператор присваивания.
bool operator== (const AbstractRep &rep)
 Являются ли представления одинаковыми.
virtual void ReplaceRep (AbstractRep *)=0
 Заменить представление.
 Camera ()
 Конструктор по умолчанию.
 Camera (const MbCartPoint3D &, const MbCartPoint3D &, const MbVector3D &)
 Конструктор по параметрам.
 Camera (const Camera &other)
 Конструктор копирования.
virtual ~Camera ()
 Деструктор.
void Init (const MbCartPoint3D &position, const MbCartPoint3D &targetPosition, const MbVector3D &up)
 Инициализация камеры по параметрам.
void Init (const MbCartPoint3D &position, const MbVector3D &up)
 Инициализация камеры по параметрам.
void Init (const MbCartPoint3D &position)
 Инициализация камеры по параметру.
void InitTarget (const MbCartPoint3D &targetPosition)
 Инициализация камеры по параметру.
void Init (const Camera &other)
 Инициализация камеры по другой камере.
double DistanceCameraToTarget () const
 Вернуть реальное расстояние между объектом и камерой.
void SetDistanceCameraToTarget (double dis)
 Установить новое расстояние между камерой и объектом, т.е. переместить камеру. Эта величина должна быть положительная.
void SetDistanceTargetToCamera (double dis)
 Установить новое расстояние между объектом и камерой, т.е. переместить объект. Эта величина должна быть положительная.
const MbCartPoint3DGetPosition () const
 Вернуть позицию камеры.
void SetPosition (const MbCartPoint3D &position)
 Установить новую позицию камеры. По умолчанию позиция (0, 0, 1).
const MbCartPoint3DGetTargetPosition () const
 Вернуть позицию объекта сцены. По умолчанию в качестве позиции объекта берется его центр.
void SetPositionTarget (const MbCartPoint3D &targetPosition)
 Установить позицию объекта. По умолчанию в качестве позиции объекта берется его центр.
const MbVector3DGetUpVector () const
 Вернуть up-вектор камеры. По умолчанию значение (0, 1, 0).
void SetUpVector (const MbVector3D &up)
 Установить up-вектор камеры. По умолчанию значение (0, 1, 0).
MbVector3D GetForward () const
 Вернуть вектор взгляда от камеры до цели.
MbVector3D GetSideVector () const
 Вернуть вектор со стороны камеры.
const MbMatrix3DGetViewMatrix () const
 Получить видовую матрицу (матрицу камеры).
const MbVector3DGetDefaultUpVector () const
 Вернуть up вектор камеры по умолчанию.
void SetDefaultUpVector (const MbVector3D &vecUp)
 Установить up вектор камеры по умолчанию.
void SetViewOrientation (C3DVision::Orientation orientation)
 Установить стандартный вид ориентации.
MbMatrix3D GetModelViewMatrix () const
 Вернуть матрицу вида камеры.
void RotateSpherical (const MbVector3D &vectOld, const MbVector3D &vectCur)
 Вращение вокруг начала координат мира(по орбите).
void Pan (const MbVector3D &vectShift)
 Панорамирование вида.
void SetZoom (double factor)
 Cдвиг вектора камеры вдоль вектора взгляда (фактор должен быть больше 0).
void Transform (const MbMatrix3D &matMove)
 Поменять положение камеры согласно заданной матрице.
void RotateAbout (const MbVector3D &axis, double angle, const MbCartPoint3D &pnt)
 Повернуть вокруг оси.
void RotateAboutTarget (const MbVector3D &vec, double angle)
 Повернуть вокруг объекта (его позиции).
void Translate (const MbVector3D &vecTrans)
 Перемещение камеры по вектору.
void Orbit (double angle1, double angle2)
 Перемещение камеры вокруг объекта сцены.
void Roll (double angle)
 Вращение камеры вокруг оси взгляда.
void oglMultMatrix ()
 Настроить OpenGL камеру перед отрисовкой всей сцены.
bool operator== (const Camera &other) const
 Оператор равенства.
Camera & operator= (const Camera &other)
 Оператор присваивания.
 Color ()
 Конструктор по умолчанию.
 Color (int red, int green, int blue, int alpha=255)
 Специальный конструктор для задания всех компонентов.
 Color (const Color &other)
 Конструктор копирования.
virtual ~Color ()
 Деструктор.
bool IsValid () const
 Вернуть true, если все компоненты инициализированы.
int GetAlpha () const
 Вернуть компонент альфа этого цвета.
void SetAlpha (int alpha)
 Установить компонент альфа этого цвета.
double GetAlphaF () const
 Вернуть компонент альфа этого цвета.
void SetAlphaF (double alpha)
 Установить компонент альфа этого цвета.
int GetRed () const
 Вернуть красный компонент этого цвета.
void SetRed (int red)
 Установить красный компонент этого цвета.
int GetGreen () const
 Вернуть зеленый компонент этого цвета.
void SetGreen (int green)
 Установить зеленый компонент этого цвета.
int GetBlue () const
 Вернуть синий компонент этого цвета.
void SetBlue (int blue)
 Установить синий компонент этого цвета.
double GetRedF () const
 Вернуть красный компонент этого цвета.
void SetRedF (double red)
 Установить красный компонент этого цвета.
double GetGreenF () const
 Вернуть зеленый компонент этого цвета.
void SetGreenF (double green)
 Установить зеленый компонент этого цвета.
double GetBlueF () const
 Вернуть синий компонент этого цвета.
void SetBlueF (double blue)
 Установить синий компонент этого цвета.
void GetRgb (int *r, int *g, int *b, int *a=0) const
 Вернуть все значения компонентов цвета.
void SetRgb (int r, int g, int b, int a=255)
 Установить все компоненты цвета.
void GetRgbF (double *r, double *g, double *b, double *a=0) const
 Вернуть указатели на все компоненты.
void SetRgbF (double r, double g, double b, double a=1.0)
 Установить указатели на все компоненты.
vRgb GetRgba () const
 Вернуть значение RGB для этого цвета, в том числе и альфа компонент.
Color ToRgb () const
 Создать и вернуть RGB цвет на основе этого цвета.
Color ToHsv () const
Color ToCmyk () const
Color ToHsl () const
Color GetLight (int f=150) const
Color GetLighter (int f=150) const
Color GetDark (int f=200) const
Color GetDarker (int f=200) const
Color ConvertTo (ColorType colorSpec) const
Color & operator= (const Color &other)
 Оператор копирования.
bool operator== (const Color &c) const
 Вернуть true, если этот цвет имеет те же RGB и альфа значения, как в указанном цвете.
bool operator!= (const Color &c) const
 Вернуть true, если этот цвет имеет отличные RGB и альфа значения от указанного цвета.
 GeometryRep3D ()
 GeometryRep3D (GeomObject *)
 GeometryRep3D (const GeometryRep3D &other)
 Конструктор копирования.
virtual ~GeometryRep3D ()
 Деструктор.
virtual AbstractRep * Duplicate () const
 Сделать копию представления геометрических данных.
virtual AbstractRep * CreateRepNewGeometryData () const
 Создать представление с новыми геометрическими данными.
virtual int GetRepType () const
 Вернуть тип представления геометрических данных.
GeomObject * GetGeomAt (size_t index) const
 Вернуть геометрические данные по индексу.
const std::list< GeomObject * > * GetGeometryList () const
 Вернуть список геометрических данных.
size_t GetBodyCount () const
 Вернуть количество тел.
virtual bool IsEmpty () const
 Вернуть true, если массив представлений пуст.
bool IsBoundingBoxValid () const
 Вернуть true, если ограничивающий габарит правильный.
MbCube GetBoundingBox () const
 Вернуть габарит представления.
bool IsGeometryInRep (GeomObject *pGeom)
 Вернуть true, если представление содержит геометрические данные.
size_t GetFaceCount () const
 Вернуть количество граней.
size_t GetVertexCount () const
 Вернуть количество вершин.
size_t GetMaterialCount () const
 Вернуть количество материалов.
std::set< Material * > GetMaterials () const
 Вернуть набор материалов.
double GetVolume () const
 Вернуть объем представления.
void AddGeometry (GeomObject *pGeom)
 Добавить геометрические данные в представление.
void DeleteEmptyGeometry ()
 Удалить пустые геометрические данные и обновить материалы.
void ReverseNormals ()
 Сменить направление нормалей геометрии на противоположное.
virtual void ReplaceRep (AbstractRep *)
 Заменить представление.
void ReplaceMaterialById (uint id, Material *pMaterial)
 Заменить указанный материал.
void UniteRep (const GeometryRep3D *)
 Объединить представления.
void ShiftGeometryFromRep (GeometryRep3D *pSource)
 Переложить геометрические данные из заданного представления.
void DuplicateVertexBufferToClientSide ()
 Сделать копию буфера вершин (VBO) на сторону клиента.
void CreateVertexBufferClientSide (bool update=false)
 Сформировать буфер вершин (VBO).
void TransformGeometriesByMatrix (const MbMatrix3D &matrix)
 Преобразовать вершины сетки по данной матрице.
void SetUseVertexBufferObjects (bool usage)
 Установить признак использования буфера вершин.
virtual GeometryRep3D & operator= (const GeometryRep3D &)
 Оператор присваивания.
 GeomMeshObject ()
 Конструктор по умолчанию.
 GeomMeshObject (const GeomMeshObject &other)
 Конструктор копирования.
virtual ~GeomMeshObject ()
 Деструктор.
virtual size_t GetFaceCount (size_t indexLod) const
 Получить число граней.
virtual size_t GetVertexCount () const
 Получить число вершин.
size_t GetNormalCount () const
 Получить число нормалей.
virtual const MbCubeGetBoundingBox ()
 Получить габаритный куб.
virtual GeomObject * Duplicate () const
 Клонировать всю геометрию.
bool IsActiveColorVertex () const
 Является ли цвет вершины активным.
void SetActiveColorVertex (bool bActive)
 Задать необходимость использования индексированных цветов в вершинах.
size_t GetLevelsDetail () const
 Получить число уровней детализации.
std::vector< GLfloat > GetPositions () const
 Получить контейнер позиций.
std::vector< GLfloat > GetNormals () const
 Получить контейнер нормалей.
std::vector< GLfloat > GetTexels () const
 Получить контейнер текселей.
bool IsExistTriangles (int indexLod, uint materialId) const
 Находится ли триангуляция в контейнере уровней детализации.
std::vector< GLuint > GetTriIndices (int indexLod, uint materialId) const
 Получить указанные индексы триангуляции.
std::list< GLuint > GetSimilarTriStripsFansIndex (int lod, uint materialId)
 Получить индексы треугольников, не зависящие от уровня детализации и материала.
size_t GetTriangleCount (int lod, uint materialId) const
 Получить число треугольников в массиве уровней детализации.
bool IsExistStrips (int lod, uint materialId) const
 Содержит ли объект сетку с заданным материалом.
std::vector< std::vector
< GLuint > > 
GetTriStripsIndex (int lod, uint materialId) const
 Получить индексы триангуляции.
int GetTriStripCount (int lod, uint materialId) const
 Получить число треугольников, соответствующих уровню детализации.
bool IsExistFans (int lod, uint materialId) const
 Есть ли треугольники, соответствующие заданному уровню детализации и материалу.
std::vector< std::vector
< GLuint > > 
GetTriFansIndex (int lod, uint materialId) const
 Получить индексы триангуляции.
int GetTriFansCount (int lod, uint materialId) const
 Получить количество треугольников, соответствующих уровню детализации и материалу.
bool IsExistLevelOfDetail (int lod) const
 Есть ли уровень детализации с заданным идентификатором.
bool LevelOfDetailIncludesMaterial (int lod, uint materialId) const
 Включен ли материал для указанного уровня детализации.
double GetAccuracyLevelOfDetail (int lod) const
 Получить точность расчёта заданного уровня детализации.
uint GetNextPrimitiveId () const
 Получить идентификатор следующего примитива.
Material * GetMaterialPrimitiveById (uint id, int lod=0) const
 Получить материал примитива по указанному идентификатору и уровню детализации.
std::set< uint > GetArrayIDsPrimitives () const
 Получить идентификаторы примитивов.
bool IsEmpty () const
 Пуст ли объект.
GeomMeshObject * CreateMeshByIndexLod (int lodIndex)
 Создать сетку уровня детализации.
GeomMeshObject * CreateMeshFromByIndexLod (int lodIndex)
 Создать сетку уровня детализации.
GeomMeshObject & TransformVerticesByMatrix (const MbMatrix3D &matrix)
 Преобразовать вершины сетки по матрице.
virtual double GetVolume ()
 Получить объем геометрии.
virtual void Clear ()
 Очистить всю геометрию.
void ClearMeshGeometry ()
 Очистить объект и все уровни детализации.
void AddVertices (const std::vector< GLfloat > &vertices)
 Добавить координаты вершин.
void AddNormals (const std::vector< GLfloat > &normals)
 Добавить нормали.
void AddTexels (const std::vector< GLfloat > &texels)
 Добавить тексели.
void AddColors (const std::vector< GLfloat > &colors)
 Добавить цвета.
uint AddTriangles (C3DVision::TypeTriangulation type, Material *pMaterial, const std::list< GLuint > &, int lod=0, double accuracy=0.0)
 Добавить триангуляцию и вернуть идентификатор.
void ReverseNormals ()
 Инвертировать направление всех нормалей.
void CloseMesh ()
 Завершить подготовку объекта, данные которого заданы.
virtual void SetLevelDetail (int value)
 Задать уровень детализации от 0 до 100.
virtual void ReplaceMainMaterial (Material *)
 Заменить основной материал указанным.
void ReplaceMaterial (uint, Material *)
 Заменить материал с заданным идентификатором.
void SetNextLocalId (uint id)
 Задать идентификатор примитива.
void SetWireframeColor (const Color &color)
 Задать цвет каркаса.
virtual void DuplicateVertexBufferToClientSide ()
 Скопировать буфер вершин в память.
virtual void ReleaseVertexBufferClientSide (bool update)
 Сформировать буфер вершин.
virtual void SetUseVertexBufferObjects (bool usage)
 True, если буфер вершин используется.
GeomMeshObject & operator= (const GeomMeshObject &other)
 Оператор присваивания.
 GeomObject (const std::wstring &name, bool type)
 Конструктор.
 GeomObject (const GeomObject &other)
 Конструктор копирования.
virtual ~GeomObject ()
 Деструктор.
bool IsValid () const
 Действительна ли геометрия.
bool HasMaterial () const
 Задан ли материал.
Material * GetHeadMaterial () const
 Получить первый материал из таблицы.
size_t GetMaterialCount () const
 Получить число материалов из таблицы.
Material * GetMaterialById (uint id) const
 Получить указатель, соответствующий идентификатору.
std::set< Material * > GetMaterialSet () const
 Получить таблицу материалов.
std::list< uint > GetMaterialIds () const
 Получить список идентификаторов материалов.
IdType GetUserIdPrimitiveById (uint id) const
 Получить данные примитива, соответствующего идентификатору.
bool HasMaterialById (uint id) const
 Существует ли в таблице материал с заданным идентификатором.
virtual const MbCubeGetBoundingBox ()=0
 Получить габаритный куб.
const MbCubeGetWireBoundingBox ()
 Получить габаритный куб каркаса.
bool IsBoundingBoxValid () const
 Является ли габаритный куб допустимым.
virtual GeomObject * Duplicate () const =0
 Клонировать всю геометрию.
bool IsTransparent () const
 Прозрачна ли геометрия.
bool IsExistTransparentMaterials () const
 Имеется ли прозрачный материал в таблице.
bool IsColorEachVertex () const
 Задан ли цвет каждой вершины.
void SetColorEachVertex (bool bColorEachVertex)
 Установить флаг назначения цвета для каждой вершины.
bool IsWireframe () const
 Является ли геометрия каркасной.
virtual size_t GetFaceCount (size_t indexLod=0) const
 Получить число граней.
virtual size_t GetVertexCount () const
 Получить число вершин.
double GetLineWidth () const
 Получить толщину линии.
void SetLineWidth (double lineWidth)
 Задать толщину линии.
Color GetWireframeColor () const
 Получить цвет каркаса.
void SetWireframeColor (const Color &color)
 Задать цвет каркаса.
bool IsWireframeEmpty () const
 Пуст ли каркас.
std::vector< GLfloat > GetWireFrameVertexPositions () const
 Получить позиции вершин.
int GetPolylineCount () const
 Получить число полилиний.
GLuint GetPolylineOffset (int index) const
 Получить смещение полилинии с заданным индексом в контейнере.
GLsizei GetPolylineSize (int index) const
 Получить размер полилинии с данным индексом.
virtual double GetVolume ()
 Получить объем геометрии.
bool IsUsedVertexBuffer () const
 Используется ли вершинный буфер.
virtual void Clear ()
 Удалить всю геометрию.
virtual void ReplaceMainMaterial (Material *)
 Заменить основной материал.
void AddMaterial (Material *pMaterial)
 Добавить материал в таблицу.
void UpdateTransparentMaterialCount ()
 Обновить число прозрачных материалов после операций с таблицей.
virtual void InvertNormals ()
 Инвертировать направление всех нормалей.
virtual void SetLevelDetail (int value)
 \ ru Задать уровень детализации в диапазоне от 0 до 100.
uint AddVerticesGroup (const std::vector< GLfloat > &vector)
 Добавить группу вершин и вернуть её идентификатор.
uint AddPeaksVerticesGroup (const std::vector< GLfloat > &vector)
 Добавить группу точек в геометрию и вернуть её идентификатор.
uint AddPeaksEdgesGroup (const std::vector< GLfloat > &vector)
 Добавить группу рёбер в геометрию и вернуть её идентификатор.
void SetUseGlobalIdentifier (int global)
 Задать, будет ли использоваться глобальный идентификатор.
virtual void CopyVertexBufferToClientSide ()
 Скопировать буфер вершин в память.
virtual void ReleaseVertexBufferClientSide (bool update=false)
 Создать буфер вершин.
virtual void SetUseVertexBufferObjects (bool usage)
 Задать, будет ли использоваться буфер вершин.
virtual void OGLLoadTexture ()
 Загрузить текстуры.
void render (const RenderState &)
 Выполнить отрисовку.
GeomObject & operator= (const GeomObject &sourceGeom)
 Оператор присваивания.
 GeomPolylineObject ()
 Конструктор по умолчанию.
 GeomPolylineObject (const GeomPolylineObject &other)
 Конструктор копирования.
virtual ~GeomPolylineObject ()
 Деструктор.
virtual const MbCubeGetBoundingBox ()
 Выдать габаритный куб.
virtual GeomObject * Duplicate () const
 Сделать копию объекта.
bool isEmpty () const
 Определить, является ли объект пустым.
uint AddPolyline (const std::vector< GLfloat > &data)
 Добавить массив точек для построения полилинии и вернуть идентификатор этой группы точек.
uint AddPolyline (const std::vector< MbCartPoint3D > &points)
 Добавить массив точек для построения полилинии и вернуть идентификатор этой группы точек.
uint AddPolyline (const std::vector< MbFloatPoint3D > &pointsList)
 Добавить массив точек для построения полилинии и вернуть идентификатор этой группы точек.
void Clear ()
 Очистить содержимое полигона и сделать его пустым.
GeomPolylineObject & operator= (const GeomPolylineObject &other)
 Оператор копирования.
 GeomLineSegmentObject ()
 Конструктор по умолчанию.
 GeomLineSegmentObject (const MbCartPoint3D &first, const MbCartPoint3D &second)
 Конструктор по точкам.
 GeomLineSegmentObject (const GeomLineSegmentObject &other)
 Конструктор копирования.
virtual ~GeomLineSegmentObject ()
 Деструктор.
void InitSegment (const MbCartPoint3D &first, const MbCartPoint3D &second)
 Инициализация отрезка.
virtual GeomObject * Duplicate () const
 Сделать копию объекта.
GeomLineSegmentObject & operator= (const GeomLineSegmentObject &other)
 Оператор копирования.
 GeomCircleObject ()
 Конструктор по умолчанию.
 GeomCircleObject (double radius)
 Конструктор по радиусу.
 GeomCircleObject (const GeomCircleObject &other)
 Конструктор копирования.
virtual ~GeomCircleObject ()
 Деструктор.
void SetDeviation (double sag)
 Задать отклонение для расчета полигона.
virtual GeomObject * Duplicate () const
 Сделать копию объекта.
 GeomRectangleObject ()
 Конструктор по умолчанию.
 GeomRectangleObject (double width, double height)
 Конструктор по параметрам.
 GeomRectangleObject (const GeomRectangleObject &other)
 Конструктор копирования.
virtual ~GeomRectangleObject ()
 Деструктор.
double GetWidth () const
 Выдать ширину прямоугольника.
void SetWidth (double width)
 Задать ширину прямоугольника.
double GetHeight () const
 Выдать высоту прямоугольника.
void SetHeight (double height)
 Задать высоту прямоугольника.
void SetSize (double width, double height)
 Задать размеры прямоугольника.
virtual GeomObject * Duplicate () const
 Сделать копию объекта.
virtual const MbCubeGetBoundingBox ()
 Выдать габаритный куб.
 GeomBoxObject (double width, double length, double height)
 Конструктор по умолчанию.
 GeomBoxObject (const GeomBoxObject &other)
 Конструктор копирования.
virtual ~GeomBoxObject ()
 Деструктор.
double GetWidth () const
 Выдать ширину параллелепипеда.
void SetWidth (double width)
 Задать ширину параллелепипеда.
double GetLength () const
 Выдать длину параллелепипеда.
void SetLength (double length)
 Задать длину параллелепипеда.
double GetHeight () const
 Выдать высоту параллелепипеда.
void SetHeight (double height)
 Задать высоту параллелепипеда.
virtual GeomObject * Duplicate () const
 Сделать копию объекта.
virtual const MbCubeGetBoundingBox ()
 Выдать габаритный куб.
 GeomCylinderObject (double radius, double height, int spaceStep=70)
 Конструктор по радиусу, высоте и направлению оси Z.
 GeomCylinderObject (const GeomCylinderObject &other)
 Конструктор копирования.
virtual ~GeomCylinderObject ()
 Деструктор.
double GetHeight () const
 Выдать высоту цилиндра.
void SetHeight (double height)
 Задать высоту цилиндра.
double GetRadius () const
 Выдать радиус цилиндра.
void SetRadius (double radius)
 Задать радиус цилиндра.
int GetSpaceStep () const
 Выдать шаг сетки цилиндра.
void SetSpaceStep (int spaceStep)
 Задать шаг сетки цилиндра.
bool IsClosed () const
 Определить, замкнут ли цилиндр.
void SetClose (bool clouse)
 Установить флаг замкнутости цилиндра.
virtual GeomObject * Duplicate () const
 Сделать копию объекта.
virtual const MbCubeGetBoundingBox ()
 Выдать габаритный куб.
 GeomConeObject (double radius, double height, int polyStep=60)
 Конструктор по умолчанию.
 GeomConeObject (const GeomConeObject &other)
 Конструктор копирования.
virtual ~GeomConeObject ()
 Деструктор.
double GetHeight () const
 Выдать высоту конуса.
void SetHeight (double height)
 Задать высоту конуса (должна быть больше нуля).
double GetRadius () const
 Выдать радиус конуса.
void SetRadius (double radius)
 Задать радиус конуса (должен быть больше нуля).
int GetPolygonStep () const
 Выдать шаг полигона.
void SetPolygonStep (int polyStep)
 Задать шаг полигона (должен быть больше нуля).
virtual GeomObject * Duplicate () const
 Сделать копию объекта.
virtual const MbCubeGetBoundingBox ()
 Выдать габаритный куб.
 GeomSphereObject (double radius)
 Конструктор по умолчанию.
 GeomSphereObject (const GeomSphereObject &other)
 Конструктор копирования.
virtual ~GeomSphereObject ()
 Деструктор.
void SetRadius (double rad)
 Задать радиус сферы.
void SetDeviation (double sag)
 Задать отклонение для расчета полигона.
virtual GeomObject * Duplicate () const
 Сделать копию объекта.
virtual const MbCubeGetBoundingBox ()
 Выдать габаритный куб.
 SolidObject (MbMesh *pMeshItem)
 Конструктор по умолчанию.
 SolidObject (const SolidObject &other)
 Конструктор копирования.
virtual ~SolidObject ()
 Деструктор.
void UpdateMesh (MbMesh *pMeshItem)
 Обновить полигональную модель объекта.
virtual GeomObject * Duplicate () const
 Получить копию геометрического объекта.
virtual const MbCubeGetBoundingBox ()
 Получить габаритный куб объекта.
virtual ~GLPlatformSurface ()
 Деструктор.
virtual GLSurfaceFormat GetFormat () const =0
GLSurface * GetSurface () const
 Вернуть указатель на поверхность отрисовки.
virtual ~GLSurface ()
 Деструктор.
GLSurfaceClass GetSurfaceClass () const
 Вернуть класс поверхности.
virtual GLSurfaceFormat GetFormat () const =0
 Вернуть формат поверхности.
virtual GLPlatformSurface * GetSurfaceHandle () const =0
 Вернуть указатель на созданную поверхность.
virtual GLSurfaceType GetSurfaceType () const =0
 Вернуть тип поверхности для отрисовки.
bool IsSupportsOpenGL () const
 Вернуть true, если поверхность OpenGL совместима и может быть использована совместно с OpenGLContext, в противном случае вернет false.
virtual Size GetSize () const =0
 Вернуть размер поверхности в пикселях.
virtual void Update ()=0
 Обновить изображение на этой поверхности.
virtual void UpdateSelectionGL ()=0
 Обновить изображение на этой поверхности при выборе объекта.
 GLSurfaceFormat ()
 Конструктор по умолчанию.
 GLSurfaceFormat (uint8 formatOptions)
 Конструктор c заданным форматом.
 GLSurfaceFormat (const GLSurfaceFormat &other)
 Конструктор копирования.
GLSurfaceFormat & operator= (const GLSurfaceFormat &other)
int GetDepthBufferSize () const
 Вернуть размер буфера глубины.
void SetDepthBufferSize (int size)
 Установить минимальный размер буфера глубины.
int GetStencilBufferSize () const
 Вернуть размер буфера трафарета в битах.
void SetStencilBufferSize (int size)
 Установить размер буфера трафарета в битах.
int GetRedBufferSize () const
 Вернуть размер буфера красного цвета в битах.
void SetRedBufferSize (int size)
 Установить размер буфера красного цвета в битах.
int GetGreenBufferSize () const
 Вернуть размер буфера зеленого цвета в битах.
void SetGreenBufferSize (int size)
 Установить размер буфера зеленого цвета в битах.
int GetBlueBufferSize () const
 Вернуть размер буфера синего цвета в битах.
void SetBlueBufferSize (int size)
 Установить размер буфера синего цвета в битах.
int GetAlphaBufferSize () const
 Вернуть размер альфа канала буфера цвета в битах.
void SetAlphaBufferSize (int size)
 Установить размер альфа канала буфера цвета в битах.
int GetSamples () const
 Вернуть количество пикселей для сглаживания изображения(multisampling). По умолчанию сглаживание(multisampling) отключено.
void SetSamples (int numSamples)
 Установить желаемое количество пикселей для сглаживания изображения(multisampling).
SwapBehavior GetSwapBehavior () const
 Вернуть поведение подкачки поверхности.
void SetSwapBehavior (SwapBehavior behavior)
 Установить поведение подкачки поверхности.
int GetSwapInterval () const
 Вернуть интервал подкачки.
void SetSwapInterval (int interval)
 Установить интервал подкачки.
bool IsAlpha () const
 Вернуть true, если размер альфа буфера не равен нулю (Это означает, что поверхность может использовать полупрозрачные эффекты).
RenderableType GetRenderableType () const
 Вернуть тип визуализации.
void SetRenderableType (RenderableType type)
 Установить тип визуализации.
OpenGLContextProfile GetProfile () const
 Вернуть конфигурацию профиля контекста OpenGL. /note Этот параметр игнорируется, если запрашиваемая версия OpenGL ниже 3.2.
void SetProfile (OpenGLContextProfile profile)
 Установить конфигурацию профиля контекста OpenGL. /note Этот параметр игнорируется, если запрашиваемая версия OpenGL ниже 3.2.
int GetMajorVersion () const
 Вернуть мажорную версию OpenGL (по умолчанию версия 2.0).
void SetMajorVersion (int majorVersion)
 Установить мажорную версию OpenGL(по умолчанию версия 2.0).
int GetMinorVersion () const
 Вернуть минорную версию OpenGL.
void SetMinorVersion (int minorVersion)
 Установить минорную версию OpenGL.
std::pair< int, int > GetVersion () const
void SetVersion (int major, int minor)
bool IsEnabledStereo () const
void SetEnabledStereo (bool enable)
void SetOptions (uint8 formatOptions)
 Установить новые опции формата.
void SetOption (FormatOption option, bool on=true)
 Устанавливает параметр формата. Если true, включить FormatOption, в противном случае выключить.
bool CheckOption (FormatOption option) const
 Вернуть true, если опция формата была установлена, в противном случае возвращает false.
uint8 GetOptions () const
 Вернуть текущие параметры формата.
 Light (const OpenGLContext *pContext=V_NULL, const Color &color=Color(255, 255, 255))
 Конструктор по умолчанию. По умолчанию цвет окружения черный, диффузный цвет белый и цвет зеркальности белый.
 Light (C3DVision::LightTypes lightType, const OpenGLContext *pContext=V_NULL, const Color &color=Color(255, 255, 255))
 Конструктор с выбором типа освещения. По умолчанию цвет окружения черный, диффузный цвет белый и цвет зеркальности белый.
 Light (const Light &other)
 Конструктор копирования.
virtual ~Light ()
 Деструктор.
bool IsLightEnabled () const
 Включен ли источник света.
void SetLightEnabled (bool bEnable)
 Включить или выключить источник света.
MbCartPoint3D GetPosition () const
 Вернуть позицию источника света.
void SetPosition (const MbCartPoint3D &pos)
 Установить позицию источника света.
void SetPosition (GLfloat x, GLfloat y, GLfloat z)
 Установить позицию источника света.
Color GetAmbientColor () const
 Вернуть цвет фонового излучения источника света (значение по умолчанию (0.0, 0.0, 0.0, 1.0)).
void SetAmbientColor (const Color &color)
 Установить цвет фонового излучения источника света (значение по умолчанию (0.0, 0.0, 0.0, 1.0)).
Color GetDiffuseColor () const
 Вернуть цвет рассеянного излучения источника света (значение по умолчанию (0.0, 0.0, 0.0, 1.0) или (1.0, 1.0, 1.0, 1.0)).
void SetDiffuseColor (const Color &color)
 Установить цвет рассеянного излучения источника света (значение по умолчанию (0.0, 0.0, 0.0, 1.0) или (1.0, 1.0, 1.0, 1.0)).
Color GetSpecularColor () const
 Вернуть цвет зеркального излучения источника света (значение по умолчанию (0.0, 0.0, 0.0, 1.0) или (1.0, 1.0, 1.0, 1.0)).
void SetSpecularColor (const Color &color)
 Установить цвет зеркального излучения источника света (значение по умолчанию (0.0, 0.0, 0.0, 1.0) или (1.0, 1.0, 1.0, 1.0)).
bool IsTwoSided () const
 Проверить, включен ли режим двустороннего освещения.
void SetTwoSided (bool bTwoSided)
 Установить режим двустороннего освещения.
C3DVision::LightTypes GetType () const
 Вернуть тип источника освещения.
void SetType (C3DVision::LightTypes type)
 Установить тип источника освещения.
GLenum GetGlLightID () const
 Вернуть идентификатор источника.
GLfloat GetConstantAttenuation () const
 Вернуть постоянную ослабления источника освещения.
void SetConstantAttenuation (GLfloat attenuationConstant)
 Установить постоянную ослабления источника освещения.
GLfloat GetLinearAttenuation () const
 Вернуть линейное ослабление источника освещения.
void SetLinearAttenuation (GLfloat linearAttenuation)
 Установить линейное ослабление источника освещения.
GLfloat GetQuadraticAttenuation () const
 Вернуть квадратичное ослабление источника освещения.
void SetQuadraticAttenuation (GLfloat attenuationQuadric)
 Установить квадратичное ослабление источника освещения.
MbVector3D GetSpotDirection () const
 Вернуть направление освещения от точечного источника. (x, y, z) - направление прожектора. Может быть представлено в виде оси ограничевающего конуса.
void SetSpotDirection (const MbVector3D &direction)
 Установить направление освещения от точечного источника. (x, y, z) - направление прожектора (ось ограничивающего конуса).
GLfloat GetSpotCutoffAngle () const
 Вернуть угол между осью и стороной конуса (он же половина угла при вершине) точечного источника освещения.
void SetSpotCutoffAngle (GLfloat cutoffAngle)
 Установить угол между осью и стороной конуса (он же половина угла при вершине) точечного источника освещения.
GLfloat GetSpotExponent () const
 Вернуть экспоненту убывания интенсивности точечного источника освещения.
void SetSpotExponent (GLfloat exponent)
 Установить экспоненту убывания интенсивности точечного источника освещения.
virtual void oglPerform ()
 Настроить источник в OpenGL.
 Material ()
 Конструктор по умолчанию.
 Material (const Color &color)
 Конструктор по диффузному цвету.
 Material (const std::wstring &name, const GLfloat *pDiffuseColor)
 Конструктор по диффузному цвету.
 Material (const Material &material)
 Конструктор копирования.
void SetMaterial (const Material &material)
 Задать другое значение материала.
bool IsMaterialUnused () const
 Вернуть true, если этот материал не применяется.
Color GetAmbient () const
 Вернуть цветовое значение общего фона.
void SetAmbient (const Color &ambient)
 Задать цвет общего фона.
Color GetDiffuse () const
 Вернуть цветовое значение диффузии.
void SetDiffuse (const Color &diffuse)
 Задать цвет диффузии.
Color GetSpecular () const
 Вернуть значение зеркальности.
void SetSpecular (const Color &specular)
 Задать значение зеркальности.
Color GetEmission () const
 Вернуть значение излучения.
void SetEmission (const Color &emission)
 Задать значение излучения.
GLfloat GetShininess () const
 Вернуть значение блеска.
void SetShininess (GLfloat shininess)
 Задать значение блеска.
bool IsTransparent () const
 Вернуть true, если материал является прозрачным.
double GetOpacity () const
 Вернуть значение непрозрачности. Returns opacity value.
void SetOpacity (double opacity)
 Задать непрозрачность. Sets opacity.
bool AddGeomObject (GeomObject *pGeom)
 Добавить объект, который использует этот материал.
bool DetachGeomObject (uint id)
 Открепить геометрический объект, использующий этот материал, из массива.
bool AddObjectId (uint id)
 Добавить в массив идентификатор геометрии, использующий этот материал.
bool DetachObjectId (uint id)
 Открепить объект из массива идентификаторов, использующих этот материал.
virtual void glPerform ()
 Выполнить инициализацию материала для отрисовки.
virtual void glPerform (float)
 Выполнить инициализацию материала для отрисовки с прозрачностью.
Material & operator= (const Material &mat)
 Оператор присвоения.
bool operator== (const Material &) const
 Вернуть true, если материал эквивалентен.
 Object (const std::wstring &name=std::wstring())
 Конструктор. Идентификатор генерируется автоматически.
 Object (uint id, const std::wstring &name=std::wstring())
 Конструктор. Идентификатор задаётся пользователем.
 Object (const Object &sourceObject)
 Конструктор копирования.
virtual ~Object ()
 Деструктор.
uint GetId () const
 Получить идентификатор.
void SetId (uint id)
 Задать идентификатор.
const std::wstring & GetName () const
 Получить имя.
void SetName (const std::wstring &name)
 Задать имя.
Object & operator= (const Object &)
 Оператор присваивания.
 OpenGLContext ()
 Конструктор по умолчанию.
virtual ~OpenGLContext ()
 Деструктор.
void Clean ()
bool Create (PlatformOpenGLContext *pPlatformOpenGLContext)
 Cоздать контекст OpenGL с текущей конфигурацией.
GLSurfaceFormat GetFormat () const
 Возвращает формат контекста, если кортекст был создан с помощью функции Create().
void SetFormat (const GLSurfaceFormat &format)
 Установить формат контекста OpenGL совместимый с текущей версиеей. Эта функция работает после вызова функции Create().
OpenGLContext * GetShareContext () const
 Функция не реализована, не используете ее.
void SetShareContext (OpenGLContext *pShareContext)
 Функция не реализована, не используете ее.
void * GetNativeHandle () const
 Функция не реализована, не используете ее.
void SetNativeHandle (void *pHandle)
 Функция не реализована, не используете ее.
GLSurface * GetSurface () const
 Возвращает указатель на экран для отрисовки OpenGL.
bool IsAllowLighting () const
 Разрешено ли освещение.
bool IsValid () const
 Возвращает true, если этот контекст является действительным, т.е. был успешно создан.
GLuint GetDefaultFrameBufferObject () const
 Возвращает объект фреймбуфера по умолчанию для текущей поверхности.
bool MakeCurrent (GLSurface *pFrame)
 Делает текущий контекст указанной поверхности. Возвращает true, если успешно..
void DoneCurrent ()
 Функция для удобства делает вызов makeCurrent с 0 поверхностью.
void SwapBuffers (GLSurface *pFrame)
 Поменять задний и передний буферы указанной поверхности.
FunctionPtr GetProcAddress (const std::string &procName) const
 Это перегруженная функция. Возвращает указатель на указанную функцию.
OpenGLFunctionList * GetFunctionList () const
 Получить экземпляр OpenGLFunctionList для этого контекста.
PlatformOpenGLContext * GetPlatformOpenGLContext () const
 Возвращает базовый контекст платформы.
PlatformOpenGLContext * GetSharePlatformOpenGLContext () const
 Возвращает указатель на базовый контекст платформы.
OpenGLContextList * GetShareContextList () const
 Возвращает список расшаренных контекстов этого контекста.
bool IsOpenGLES () const
 Возвращает true, если контекст является контекстом OpenGL ES.
bool IsSupportsQtContext () const
 Возвращает true, если контекст работает совместно с контекстом QGLContext в противном случае false.
void SetQtContextSupport (bool support)
 Установить возможность работы с контекстом QGLContext.
MbMatrix3D GetModelViewMatrix () const
MbMatrix3D GetProjectionMatrix () const
virtual void oglMatrixMode (uint mode)
virtual void oglLoadIdentity ()
virtual void oglPushMatrix ()
virtual void oglPopMatrix ()
virtual void oglLoadMatrix (const MbMatrix3D &matrix)
virtual void oglMultMatrix (const MbMatrix3D &matrix)
virtual void oglOrtho (double left, double right, double bottom, double top, double nearVal, double farVal)
virtual void oglFrustum (double left, double right, double bottom, double top, double nearVal, double farVal)
virtual void oglAllowLighting (bool bAllow)
virtual void UpdateVariables ()
 OpenGLFunctionList ()
 OpenGLFunctionList (OpenGLContext *context)
uint8 GetGLProperies () const
bool HasGLProperty (uint8 feature) const
void InitGLFunctionList ()
void glBindTexture (GLenum target, GLuint texture)
void glBlendFunc (GLenum sfactor, GLenum dfactor)
void glClear (GLbitfield mask)
void glClearColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)
void glClearStencil (GLint s)
void glColorMask (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha)
void glCopyTexImage2D (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)
void glCopyTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)
void glCullFace (GLenum mode)
void glDeleteTextures (GLsizei n, const GLuint *textures)
void glDepthFunc (GLenum func)
void glDepthMask (GLboolean flag)
void glDisable (GLenum cap)
void glDrawArrays (GLenum mode, GLint first, GLsizei count)
void glDrawElements (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices)
void glEnable (GLenum cap)
void glFinish ()
void glFlush ()
void glFrontFace (GLenum mode)
void glGenTextures (GLsizei n, GLuint *textures)
void glGetBooleanv (GLenum pname, GLboolean *params)
GLenum glGetError ()
void glGetFloatv (GLenum pname, GLfloat *params)
void glGetIntegerv (GLenum pname, GLint *params)
const GLubyte * glGetString (GLenum name)
void glGetTexParameterfv (GLenum target, GLenum pname, GLfloat *params)
void glGetTexParameteriv (GLenum target, GLenum pname, GLint *params)
void glHint (GLenum target, GLenum mode)
GLboolean glIsEnabled (GLenum cap)
GLboolean glIsTexture (GLuint texture)
void glLineWidth (GLfloat width)
void glPixelStorei (GLenum pname, GLint param)
void glPolygonOffset (GLfloat factor, GLfloat units)
void glReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels)
void glScissor (GLint x, GLint y, GLsizei width, GLsizei height)
void glStencilFunc (GLenum func, GLint ref, GLuint mask)
void glStencilMask (GLuint mask)
void glStencilOp (GLenum fail, GLenum zfail, GLenum zpass)
void glTexImage2D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
void glTexParameterf (GLenum target, GLenum pname, GLfloat param)
void glTexParameterfv (GLenum target, GLenum pname, const GLfloat *params)
void glTexParameteri (GLenum target, GLenum pname, GLint param)
void glTexParameteriv (GLenum target, GLenum pname, const GLint *params)
void glTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels)
void glViewport (GLint x, GLint y, GLsizei width, GLsizei height)
void glActiveTexture (GLenum texture)
void glAttachShader (GLuint program, GLuint shader)
void glBindAttribLocation (GLuint program, GLuint index, const char *name)
void glBindBuffer (GLenum target, GLuint buffer)
void glBindFramebuffer (GLenum target, GLuint framebuffer)
void glBindRenderbuffer (GLenum target, GLuint renderbuffer)
void glBlendColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)
void glBlendEquation (GLenum mode)
void glBlendEquationSeparate (GLenum modeRGB, GLenum modeAlpha)
void glBlendFuncSeparate (GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha)
void glBufferData (GLenum target, vsngl_GLsizeiptr size, const void *data, GLenum usage)
void glBufferSubData (GLenum target, vsngl_GLintptr offset, vsngl_GLsizeiptr size, const void *data)
GLenum glCheckFramebufferStatus (GLenum target)
void glClearDepthf (GLclampf depth)
void glCompileShader (GLuint shader)
void glCompressedTexImage2D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data)
void glCompressedTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data)
GLuint glCreateProgram ()
GLuint glCreateShader (GLenum type)
void glDeleteBuffers (GLsizei n, const GLuint *buffers)
void glDeleteFramebuffers (GLsizei n, const GLuint *framebuffers)
void glDeleteProgram (GLuint program)
void glDeleteRenderbuffers (GLsizei n, const GLuint *renderbuffers)
void glDeleteShader (GLuint shader)
void glDepthRangef (GLclampf zNear, GLclampf zFar)
void glDetachShader (GLuint program, GLuint shader)
void glDisableVertexAttribArray (GLuint index)
void glEnableVertexAttribArray (GLuint index)
void glFramebufferRenderbuffer (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)
void glFramebufferTexture2D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
void glGenBuffers (GLsizei n, GLuint *buffers)
void glGenerateMipmap (GLenum target)
void glGenFramebuffers (GLsizei n, GLuint *framebuffers)
void glGenRenderbuffers (GLsizei n, GLuint *renderbuffers)
void glGetActiveAttrib (GLuint program, GLuint index, GLsizei bufsize, GLsizei *length, GLint *size, GLenum *type, char *name)
void glGetActiveUniform (GLuint program, GLuint index, GLsizei bufsize, GLsizei *length, GLint *size, GLenum *type, char *name)
void glGetAttachedShaders (GLuint program, GLsizei maxcount, GLsizei *count, GLuint *shaders)
GLint glGetAttribLocation (GLuint program, const char *name)
void glGetBufferParameteriv (GLenum target, GLenum pname, GLint *params)
void glGetFramebufferAttachmentParameteriv (GLenum target, GLenum attachment, GLenum pname, GLint *params)
void glGetProgramiv (GLuint program, GLenum pname, GLint *params)
void glGetProgramInfoLog (GLuint program, GLsizei bufsize, GLsizei *length, char *infolog)
void glGetRenderbufferParameteriv (GLenum target, GLenum pname, GLint *params)
void glGetShaderiv (GLuint shader, GLenum pname, GLint *params)
void glGetShaderInfoLog (GLuint shader, GLsizei bufsize, GLsizei *length, char *infolog)
void glGetShaderPrecisionFormat (GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision)
void glGetShaderSource (GLuint shader, GLsizei bufsize, GLsizei *length, char *source)
void glGetUniformfv (GLuint program, GLint location, GLfloat *params)
void glGetUniformiv (GLuint program, GLint location, GLint *params)
GLint glGetUniformLocation (GLuint program, const char *name)
void glGetVertexAttribfv (GLuint index, GLenum pname, GLfloat *params)
void glGetVertexAttribiv (GLuint index, GLenum pname, GLint *params)
void glGetVertexAttribPointerv (GLuint index, GLenum pname, void **pointer)
GLboolean glIsBuffer (GLuint buffer)
GLboolean glIsFramebuffer (GLuint framebuffer)
GLboolean glIsProgram (GLuint program)
GLboolean glIsRenderbuffer (GLuint renderbuffer)
GLboolean glIsShader (GLuint shader)
void glLinkProgram (GLuint program)
void glReleaseShaderCompiler ()
void glRenderbufferStorage (GLenum target, GLenum internalformat, GLsizei width, GLsizei height)
void glSampleCoverage (GLclampf value, GLboolean invert)
void glShaderBinary (GLint n, const GLuint *shaders, GLenum binaryformat, const void *binary, GLint length)
void glShaderSource (GLuint shader, GLsizei count, const char **string, const GLint *length)
void glStencilFuncSeparate (GLenum face, GLenum func, GLint ref, GLuint mask)
void glStencilMaskSeparate (GLenum face, GLuint mask)
void glStencilOpSeparate (GLenum face, GLenum fail, GLenum zfail, GLenum zpass)
void glUniform1f (GLint location, GLfloat x)
void glUniform1fv (GLint location, GLsizei count, const GLfloat *v)
void glUniform1i (GLint location, GLint x)
void glUniform1iv (GLint location, GLsizei count, const GLint *v)
void glUniform2f (GLint location, GLfloat x, GLfloat y)
void glUniform2fv (GLint location, GLsizei count, const GLfloat *v)
void glUniform2i (GLint location, GLint x, GLint y)
void glUniform2iv (GLint location, GLsizei count, const GLint *v)
void glUniform3f (GLint location, GLfloat x, GLfloat y, GLfloat z)
void glUniform3fv (GLint location, GLsizei count, const GLfloat *v)
void glUniform3i (GLint location, GLint x, GLint y, GLint z)
void glUniform3iv (GLint location, GLsizei count, const GLint *v)
void glUniform4f (GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
void glUniform4fv (GLint location, GLsizei count, const GLfloat *v)
void glUniform4i (GLint location, GLint x, GLint y, GLint z, GLint w)
void glUniform4iv (GLint location, GLsizei count, const GLint *v)
void glUniformMatrix2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
void glUniformMatrix3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
void glUniformMatrix4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
void glUseProgram (GLuint program)
void glValidateProgram (GLuint program)
void glVertexAttrib1f (GLuint indx, GLfloat x)
void glVertexAttrib1fv (GLuint indx, const GLfloat *values)
void glVertexAttrib2f (GLuint indx, GLfloat x, GLfloat y)
void glVertexAttrib2fv (GLuint indx, const GLfloat *values)
void glVertexAttrib3f (GLuint indx, GLfloat x, GLfloat y, GLfloat z)
void glVertexAttrib3fv (GLuint indx, const GLfloat *values)
void glVertexAttrib4f (GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
void glVertexAttrib4fv (GLuint indx, const GLfloat *values)
void glVertexAttribPointer (GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *ptr)
 Point ()
 Конструктор по умолчанию.
 Point (int x, int y)
 Специальный конструктор для инициализации координат x и y.
bool IsNull () const
 Вернуть true, если обе координаты х и у равны 0, в противном случае возвращает false.
int GetX () const
 Вернуть координату х.
void SetX (int x)
 Установить координату х.
int GetY () const
 Вернуть координату y.
void SetY (int y)
 Установить координату y.
int & InitX ()
 Инициализация координаты х.
int & InitY ()
 Инициализация координаты y.
Point & operator+= (const Point &p)
 Добавить указанную точку в эту точку и вернуть ссылку на эту точку.
Point & operator-= (const Point &p)
 Вычесть указанную точку из этой точки и вернуть ссылку на эту точку.
bool operator== (const Point &p)
 Вернуть true, если указанная точка и эта точка равны, в противном случае возвращает false.
bool operator!= (const Point &p)
 Вернуть true если указанная точка и эта точка не равны, в противном случае возвращает false.
const Point operator+ (const Point &p)
const Point operator- (const Point &p)
 PrCameraOrbit (Viewport *pViewport)
 Конструктор по умолчанию.
 PrCameraOrbit (const PrCameraOrbit &other)
 Конструктор копирования.
virtual ~PrCameraOrbit ()
virtual Process * Duplicate () const
 Вернуть указатель на копию данного процесса.
virtual void Activate (ProcessEvent *event)
 Активировать процесс.
virtual bool Motion (ProcessEvent *event)
 Обработка события перемещения мыши.
void GetAngles (double &alpha, double &beta, double &gamma)
 Выдать угловую позицию камеры.
void ResetAngles ()
 Cбросить все углы в ноль.
 PrCameraPan (Viewport *pViewport)
 Конструктор по умолчанию.
 PrCameraPan (const PrCameraPan &other)
 Конструктор копирования.
virtual ~PrCameraPan ()
 Деструктор.
virtual Process * Duplicate () const
 Вернуть указатель на копию процесса панорамирования.
virtual void Activate (ProcessEvent *event)
 Активировать процесс панорамирования.
virtual bool Motion (ProcessEvent *event)
 Обработка события панорамирования.
 PrCameraRotate (Viewport *pViewport)
 Конструктор по умолчанию.
 PrCameraRotate (const PrCameraRotate &)
 Конструктор копирования.
virtual ~PrCameraRotate ()
 Деструктор.
virtual Process * Duplicate () const
 Вернуть указатель на копию обработчика действия.
virtual void Activate (ProcessEvent *event)
 Активировать обработчик действия.
virtual bool Motion (ProcessEvent *event)
 Обработка события перемещения.
 PrCameraZoom (Viewport *pViewport)
 Конструктор по умолчанию.
 PrCameraZoom (const PrCameraZoom &other)
 Конструктор копирования.
virtual ~PrCameraZoom ()
virtual Process * Duplicate () const
 Вернуть указатель на копию процесса.
virtual void Activate (ProcessEvent *event)
 Активировать процесс.
virtual bool Motion (ProcessEvent *event)
 Обработка события перемещения.
double GetMaxZoomFactor () const
 Установить максимальный коэффициент масштаба.
void SetMaxZoomFactor (double factor)
 Установить максимальный коэффициент масштаба.
 PrimitiveCount ()
 Process (Viewport *pViewport)
 Конструктор по умолчанию.
 Process (const Process &other)
 Конструктор копирования.
virtual ~Process ()
 Деструктор.
virtual Process * Duplicate () const =0
 Вернуть указатель на копию процесса.
virtual void Activate (ProcessEvent *event)=0
 Активировать процесс.
virtual bool Motion (ProcessEvent *event)=0
 Обработка события перемещения мыши.
virtual void Deactivate ()
 Деактивировать процесс.
void SetRepresentations (const std::list< SceneProcessRep * > &reps)
 Установить новое представление процесса, если оно имеется.
void InitRepresentation ()
 Инициализация представления процесса, если оно имеется.
void UpdateRepresentation ()
 Обновить представление процесса, если оно имеется.
void DrawRepresentation ()
 Отрисовка представления процесса, если оно имеется.
 ProcessEvent (EventType type)
 Конструктор по умолчанию.
 ProcessEvent (const ProcessEvent &other)
 Конструктор копирования.
virtual ~ProcessEvent ()
 Деструктор.
EventType GetType () const
 Вернуть идентификатор типа событий.
 InputEvent (EventType type)
 Конструктор по умолчанию.
 InputEvent (const InputEvent &other)
 Конструктор копирования.
 ~InputEvent ()
 Деструктор.
bool Control () const
 True, если клавиша Ctrl сейчас нажата.
bool Shift () const
 True, если клавиша Shift сейчас нажата.
bool Alt () const
 True, если клавиша Alt сейчас нажата.
bool LeftAlt () const
 True, если левая клавиша Alt нажата.
bool LeftControl () const
 True, если левая клавиша Ctrl нажата.
bool LeftShift () const
 True, если левая клавиша Shift нажата.
bool RightAlt () const
 True, если правая клавиша Alt нажата.
bool RightControl () const
 True, если правая клавиша Ctrl нажата.
bool RightShift () const
 True, если правая клавиша Shift нажата.
unsigned int GetFlags (void) const
 Возвращает бит ProcessEvent флагов, таких как PR_LBUTTON, для специальных событий клавиш Shift, Ctrl и левая, средняя и правая кнопки мыши.
void SetFlags (int flags)
 Этот метод устанавливает побитовые флаги, которые показывают состояние кнопок мыши, клавиш Shift и Ctrl.
 MouseEvent (EventType type)
 Конструктор по умолчанию.
 MouseEvent (const MouseEvent &other)
 Конструктор копирования.
 ~MouseEvent ()
 Деструктор.
bool LButton () const
 True, если левая кнопка мыши нажата.
bool MButton () const
 True, если средняя кнопка мыши нажата.
bool RButton () const
 True, если правая кнопка мыши нажата.
const Point & GetScreenPos () const
 Возвращает позицию мыши в координатах окна.
void SetScreenPos (Point &point)
 Этот метод получает и хранит информацию о событиях мыши в координатах окна.
 WheelEvent ()
 Конструктор по умолчанию.
 WheelEvent (const WheelEvent &other)
 Конструктор копирования.
 ~WheelEvent ()
 Деструктор.
int GetWheelDelta () const
 Возвращает измененное значение позиции колесика мыши.
void SetWheelDelta (int wheelDelta)
 Этот метод устанавливает измененное значение позиции колесика мыши.
 CameraEvent (double x=0.0, double y=0.0)
 Конструктор по умолчанию.
virtual ~CameraEvent ()
 Деструктор.
const MbCartPointGetPosition () const
 Вернуть пользовательскую позицию.
void SetPosition (const MbCartPoint &point)
 Установить позицию.
void SetPosition (double x, double y)
 Установить позицию.
const MbVectorGetNormalizeTouchCenter () const
 Вернуть нормализацию центра касания.
void SetNormalizeTouchCenterPosition (const MbVector &normalize)
 Установить нормализацию центра касания.
const MbVectorGetTranslation () const
 Вернуть вектор перемещения.
void SetTranslation (const MbVector &translation)
 Установить вектор перемещения.
void SetTransformation (const MbVector &translation, double rotation=0.0, double scaleFactor=1.0)
 Установить данные для трансформации.
const MbCubeGetBoundingBox () const
 Вернуть габаритный куб.
void SetBoundingBox (const MbCube &boundingBox)
 Установить габаритный куб.
double GetRotationAngle () const
 Вернуть угол поворота.
void SetRotation (double rotation)
 Установить угол поворота.
double GetZoomFactor () const
 Вернуть коэффициент масштабирования.
void SetZoomFactor (double zoomFactor)
 Установить коэффициент масштабирования.
bool IsTransformation () const
 Вернуть признак того, что преобразование было установлено.
 ProcessManager ()
 Конструктор по умолчанию.
 ProcessManager (const ProcessManager &other)
 Конструктор копирования.
virtual ~ProcessManager ()
 Деструктор.
bool IsExistActiveProcess () const
 Является ли процесс активным.
int GetActiveProcessId () const
 Вернуть идентификатор активного процесса.
Process * GetActiveProcess () const
 Вернуть указатель на активный процесс.
Process * GetProcess (int id) const
 Вернуть указатель на процесс.
void AddProcess (Process *scene, int id)
 Добавить интерактивный процесс.
void RemoveProcess (int id)
 Удалить интерактивный процесс.
void Clear ()
 Удалить все процессы.
void ActivateProcess (int id, ProcessEvent *event)
 Активировать процесс и установить данные.
void DeactivateProcess ()
 Сбросить активный процесс.
bool MoveActivateProcess (ProcessEvent *event)
 Принять событие от инициатора.
void DrawActiveProcess ()
 Отрисовка текущего состояния.
ProcessManager & operator= (const ProcessManager &other)
 Оператор присваивания.
void Clear ()
 Очистить содержимое визуализации и обновить значения материалов.
RenderState & operator= (const RenderState &)
 Оператор присвоения.
 SceneContent ()
 Конструктор по умолчанию.
 SceneContent (SceneSegment *pSegment)
 Конструктор по корневому сегменту сцены.
 SceneContent (const SceneContent &other)
 Конструктор копирования.
virtual ~SceneContent ()
 Деструктор.
MbCube GetBoundingBox ()
 Вернуть габарит содержимого сцены.
SceneSegment * GetRootSegment () const
 Вернуть указатель на корневой сегмент сцены.
ViewContainer3D * GetContainer ()
 Вернуть указатель на контейнер визуальных объектов.
size_t GetCount () const
 Вернуть количество объектов в сцене.
bool IsEmpty () const
 Вернуть true, если сцена пуста, иначе false.
size_t GetFaceCount () const
 Вернуть количество граней.
size_t GetVertexCount () const
 Вернуть количество вершин.
size_t GetMaterialCount () const
 Вернуть количество материалов.
std::set< Material * > GetMaterials () const
 Вернуть набор материалов.
std::list< ViewObject3D * > GetObjects () const
 Вернуть список объектов в сцене.
std::list< ViewObject3D * > GetVisibleObjects () const
 Вернуть список видимых объектов в сцене.
std::list< std::wstring > GetObjectNamesOfShadingGroup (GLuint id) const
 Вернуть имена объектов, для которых была назначена специальная группа шейдинг.
size_t GetShadingGroupCount () const
 Вернуть количество групп, которые используют шейдинг.
SceneSegment * GetSegment (uint id) const
 Вернуть указатель на сегмент сцены.
std::list< SceneSegment * > GetSegments () const
 Вернуть все сегменты сцены.
size_t GetSegmentCount () const
 Вернуть количество сегментов.
bool IsExistSegment (uint id) const
 Проверить, существует ли в контейнере сегменты с заданным идентификатором.
std::list< SceneSegmentData * > GetSegmentsData () const
 Вернуть данные сегментов.
std::list< SceneSegmentRef * > GetReferenceSegments () const
 Вернуть список указателей на ссылки.
size_t GetBodyCount () const
 Вернуть количество тел.
size_t GetRepCount () const
 Вернуть количество представлений.
MbVector3D GetUpVector () const
 Вернуть Up вектор сцены.
size_t GetSelectionSize () const
 Вернуть количество выбранных сегментов сцены.
bool IsSelected (const SceneSegment *pSegment) const
 Вернуть true, если указанный указатель на сегмент является выбранным, иначе false.
bool IsSelected (uint selectionId) const
 Вернуть true, если указанный идентификатор сегмента является выбранным, иначе false.
std::list< SceneSegment * > GetSelectedSegments () const
 Вернуть список указателей выбранных сегментов.
std::list< SceneSegment * > GetMinimumSelectedSegments () const
 Вернуть минимальный список указателей выбранных сегментов.
SceneSegment * DetachRootSegment ()
 Отсоединить корневой сегмент от сцены.
void RebuildFrustumTree ()
 Престроить дерево видимости
void ReplaceRootSegment (SceneSegment *pSegment)
 Заменить корневой сегмент сцены.
void MergeContents (SceneContent &pScene)
 Слить данную сцену с заданной.
void ReverseNormal ()
 Обратить нормали сцены.
void Clear ()
 Очистить сцену.
void SetRootSegmentName (const std::wstring &name)
 Задать имя корневого сегмента.
void SetUpVector (const MbVector3D &vect)
 Задать сцене Up вектор.
void SetViewport (Viewport *pViewport)
 Задать viewport сцены.
void SelectSegment (const SceneSegment *pSegment)
 Выбрать (выделить) заданный сегмент.
void SelectSegment (uint segmentId)
 Выбрать (выделить) сегмент по идентификатору.
void UnselectSegment (uint segmentId)
 Отменить выбор сегмента.
void SelectAllSegments ()
 Выбрать все сегменты сцены.
void UnselectAllSegments ()
 Отменить выбор всех сегментов.
void SelectVisibleViewObjects ()
 Выбрать (выделить) все видимые сегменты сцены.
void ReverseSelectedSegmentsState ()
 Скрыть или показать выбранные (выделенные) сегменты.
void ShowSelectedSegments ()
 Показать выбранные (выделенные) сегменты.
void HideSelectedSegments ()
 Скрыть выбранные (выделенные) сегменты.
void UpdateBoundingBox ()
 Обновить габарит.
SceneContent & operator= (const SceneContent &)
bool operator== (const SceneContent &other) const
 Оператор сравнения.
void OGLDraw (GLuint groupId, C3DVision::RenderMode renderingMode=C3DVision::ShadedMode)
 Отрисовать все объекты сцены.
void OGLDrawShaderGroup (C3DVision::RenderMode renderingMode=C3DVision::ShadedMode)
 Отрисовать все объекты шейдер группы.
 SceneSegment ()
 Конструктор по умолчанию.
 SceneSegment (uint id)
 Специальный конструктор с данными для сегмента.
 SceneSegment (SceneSegmentData *pSegmentData, SceneDescriptor *pDescriptor=V_NULL, GLuint shaderId=0)
 Специальный конструктор с данными для сегмента.
 SceneSegment (SceneSegmentData *pSegmentData, uint id, SceneDescriptor *pDescriptor=V_NULL, GLuint shaderId=0)
 Специальный конструктор с данными для сегмента и идентификатором сегмента.
 SceneSegment (GeometryRep3D *pRep)
 Специальный конструктор с представлением.
 SceneSegment (GeometryRep3D *pRep, uint id)
 Специальный конструктор с представлением.
 SceneSegment (SceneDescriptor *pDescriptor, const SceneSegment &segment, bool bCommonSegment)
 Специальный конструктор.
virtual ~SceneSegment ()
 Деструктор.
uint GetId () const
 Вернуть идентификатор сегмента.
const std::wstring GetName () const
 Вернуть имя сегмента.
void SetName (const std::wstring &name)
 Установить имя сегменту.
const MbMatrix3DGetAbsoluteMatrix () const
 Вернуть абсолютную матрицу сегмента.
MbMatrix3D GetRelativeMatrix () const
 Вернуть относительную матрицу сегмента.
bool IsRootSegment () const
 Является ли сегмент root-сегментом.
bool HasParent () const
 Есть ли у сегмента родитель.
bool HasRep () const
 Есть ли у сегмента представление.
bool HasViewObject3D () const
 Есть ли у сегмента ViewObject3D.
SceneSegmentData * GetSegmentData () const
 Вернуть указатель на данные сегмента.
SceneSegmentRef * GetSegmentRef () const
 Вернуть указатель на ссылку сегмента сцены.
size_t GetCountOfSegment () const
 Вернуть количество сегментов в данном сегменте.
bool HasSegments () const
 Вернуть признак наличия подсегментов.
bool CanInsertToSegment (SceneSegment *pSegment) const
 Признак возможности добавить данный сегмент в массив сегментов.
SceneSegment * GetParentSegment () const
 Вернуть указатель на родительский сегмент.
std::list< SceneSegment * > GetAncestorsSegment () const
 Вернуть всех предков данного сегмента.
SceneSegment * GetSegmentAt (size_t index) const
 Вернуть указатель на сегмент сцены по индексу.
std::list< SceneSegment * > GetSegmets () const
 Вернуть массив сегментов сцены.
std::list< SceneSegment * > GetSubSegmets () const
 Вернуть массив всех сегментов сцены данного узла.
size_t GetFaceCount () const
 Вернуть количество граней представления этого сегмента.
size_t GetVertexCount () const
 Вернуть количество вершин представления этого сегмента.
size_t GetMaterialCount () const
 Вернуть количество материалов представления этого сегмента.
std::set< Material * > GetMaterials () const
 Вернуть массив материалов представления этого сегмента.
void SetMaterial (uint ind, const Material &material)
 Установить материал.
void SetColorPresentationMaterial (const Color &color)
 Установить цвет материалу представления
SceneSegment * Duplicate (SceneDescriptor *pDescriptor, bool bCommonSegment) const
 Вернуть копию сегмента.
bool IsVisible () const
 Вернуть признак видимости сегмента.
MbCube GetBoundingBox () const
 Вернуть габаритный куб сегмента.
size_t GetSegmentCount () const
 Вернуть число вхождений этого сегмента.
RenderState * GetRenderState () const
 Вернуть указатель на состояние отрисовки.
size_t GetCountSegmentsOfLine () const
 Вернуть количество сегментов, входящих в этот сегмент.
SceneDescriptor * GetSceneDescriptor () const
 Вернуть указатель на описание сцены этого сегмента.
std::set< SceneSegmentRef * > GetChildrenReferences () const
 Вернуть массив ссылок этого сегмента.
bool IsIndependentCreationObject3D () const
 Вернуть признак самостоятельного создания ViewObject3D.
void SetIndependentCreateViewObject (bool bIndependent)
 Установить признак автоматического создания ViewObject3D.
bool IsFloating () const
 Вернуть true, если сегмент является плавающим, иначе false.
ptrdiff_t GetIndexOf (const SceneSegment *pSegment) const
 Вернуть индекс данного сегмента в массиве указанного сегмента.
bool ExistSegment (const SceneSegment *pSegment) const
 Вернуть признак существования указанного сегмента в данном сегменте.
SceneSegment * RefreshAbsoluteMatrix ()
 Обновить абсолютную матрицу.
SceneSegment * RefreshSubSegmentAbsoluteMatrix ()
 Обновить абсолютную матрицу внутренних подсегментов.
void AddSegment (SceneSegment *pSegment)
 Добавить новый сегмент в сцену.
void InsertSegment (int index, SceneSegment *pSegment)
 Вставить новый сегмент в указанную позицию.
SceneSegment * AddSegment (SceneSegmentData *pSegmentData)
 Создать и добавить новый сегмент с указанными данными.
SceneSegment * InsertSegment (int index, SceneSegmentData *pSegmentData)
 Создать и вставить в указанную позицию новый сегмент с указанными данными.
void DoSegmentAlone ()
 Сделать сегмент самостоятельным.
bool RemoveSegment (SceneSegment *pSegment)
 Удалить указанный сегмент из массива узлов.
void ReverseNormalsOfSegment ()
 Сделать обращение нормалей сегмента.
bool CreateViewObject3D (GLuint shaderId=0)
 Создать ViewObject3D для этого сегмента.
bool RemoveViewObject ()
 Удалить ViewObject3D этого сегмента.
void SetSceneDescriptor (SceneDescriptor *pDescriptor)
 Установить описание сцены.
void SetSegmentCount (uint count)
 Установить количество вхождений этого сегмента.
uint UpdateSegmentCount (uint count)
 Обновить количество вхождений этого сегмента.
void SetVisible (bool bVisible)
 Установить видимость.
void SetRenderStates (const RenderState &renderState)
 Установить состояние отрисовки сегмента.
void RemoveEmptySubSegment ()
 Удалить пустые сегменты.
void SetReference (SceneSegmentRef *pRef)
 Установить ссылку в этот сегмент.
void CreateRelativeMatrix (const MbMatrix3D &relativeMatrix)
 Создать новую относительную матрицу.
void RemoveRelativeMatrix ()
 Удалить относительную матрицу сегмента.
void SwapSegment (size_t i, size_t j)
 Поменять местами i-й и j-й сегменты.
 SceneSegmentData (SceneSegmentRef *pRef=V_NULL)
 Конструктор по умолчанию.
 SceneSegmentData (AbstractRep *pRep)
 Cпециальный конструктор с представлением.
 SceneSegmentData (const SceneSegmentData &other)
 Конструктор копирования.
 SceneSegmentData (SceneSegmentData *pOther)
 Конструктор копирования.
 SceneSegmentData (const std::wstring &name)
 Специальный конструктор с установкой имени.
virtual ~SceneSegmentData ()
 Деструктор.
void SetReference (SceneSegmentRef *pSegmentRef)
 Установить данным сегмента ссылку на геометрию.
bool HasSegmentData () const
 Вернуть true, если этот сегмент имеет данные.
size_t GetSegmentCount () const
 Вернуть количество вставленых сегментов.
SceneSegment * GetFirstSegmentData () const
 Вернуть указатель на первый сегмент.
const MbMatrix3DGetRelativeMatrix () const
 Вернуть относительную матрицу сегмента.
SceneSegmentRef * GetDataReference () const
 Вернуть ссылку на эти данные.
std::list< SceneSegment * > GetSegmentData () const
 Вернуть массив сегментов.
const std::wstring & GetName () const
 Вернуть имя вставки сегмента.
void SetName (const std::wstring &name)
 Установить имя вставки сегмента.
int GetDataUseCount () const
 Вернуть количество ссылок на эти данные.
void AddSegment (SceneSegment *pSegment)
 Добавить новый созданный сегмент.
void RemovedSegment (SceneSegment *pSegment)
 Удалить из массива данный сегмент.
SceneSegmentData * Move (const MbMatrix3D &matrix)
 Переместить данные по заданной матрице.
SceneSegmentData * Translate (double x, double y, double z)
 Преобразовать данные по координатам.
SceneSegmentData * Translate (const MbVector3D &vec)
 Преобразовать данные по данному вектору.
SceneSegmentData * SetMatrix (const MbMatrix3D &matrix)
 Установить относительную матрицу.
SceneSegmentData * ResetToIdentityMatrix ()
 Cбросить матрицу в единичную.
void UpdateDataAbsoluteMatrix ()
 Обновить абсолютную матрицу для всех подсегментов.
 SceneSegmentRef (const std::wstring &name=std::wstring())
 Конструктор по умолчанию.
 SceneSegmentRef (AbstractRep *pRep)
 Специальный конструктор с указателем на представление.
 SceneSegmentRef (const SceneSegmentRef &other)
 Конструктор копирования.
virtual ~SceneSegmentRef ()
 Деструктор.
bool HasDataSegment () const
 Вернуть true, если в этой ссылке есть экземпляр данных.
SceneSegmentData * GetHeadDataSegment () const
 Вернуть указатель на первый сегмент данных.
std::list< SceneSegmentData * > GetSegmentData () const
 Вернуть список указателей на сегменты сцены.
std::set< SceneSegment * > GetSceneSegmentsSet () const
 Вернуть массив указателей на сегменты сцены этой ссылки.
std::list< SceneSegment * > GetSceneSegmentsList () const
 Вернуть список указателей на сегменты сцены этой ссылки.
bool IsHasRep () const
 Вернуть true, если данная ссылка имеет представление.
AbstractRep * GetRepresentation () const
 Вернуть указатель на представление этой ссылки.
void SetRepresentation (const GeometryRep3D &rep)
 Установить представление этой ссылки.
const std::wstring & GetName () const
 Вернуть имя ссылки.
void SetName (const std::wstring &name)
 Установить имя этой ссылки.
size_t GetFaceCount () const
 Вернуть количество граней.
size_t GetVertexCount () const
 Вернуть количество вершин.
size_t GetMaterialCount () const
 Вернуть количество материалов.
size_t GetBodyCount () const
 Вернуть количество тел.
std::set< Material * > GetMaterials () const
 Вернуть массив материалов.
std::wstring GetNameRep () const
 Вернуть имя представления.
void SetRepName (const std::wstring &repName)
 Установить имя представления.
bool IsLoadedRep () const
 Вернуть true, если представление загружено.
bool IsEmptyRep () const
 Вернуть true, если представление является пустым либо представления нет.
void AddSegmentData (SceneSegmentData *pSegmentData)
 Добавить сегмент данных.
void RemoveSegmentData (SceneSegmentData *pSegmentData)
 Удалить из массива сегмент данных.
std::list< SceneSegment * > AddChild (SceneSegment *pSceneSegment)
 Добавить данные сцены во все подсегменты этой ссылки.
SceneSegmentRef & operator= (const SceneSegmentRef &)
 Оператор копирования.
 GeomFTTextObject (const char *fontFilePath)
 Специальный конструктор для чтения шрифта из файла.
 GeomFTTextObject (const unsigned char *pBufferBytes, size_t bufferSizeInBytes)
 Конструктор по умолчанию.
 GeomFTTextObject (const GeomFTTextObject &other)
 Конструктор копирования.
virtual ~GeomFTTextObject ()
 Деструктор.
std::wstring GetText () const
 Вернуть текст.
void SetText (const std::wstring &text)
 Установить текст.
Color GetColorText () const
 Вернуть цвет текста.
void SetColorText (const Color &clrText)
 Установить цвет текста.
float GetLineLength () const
 Вернуть максимальную длину строки для форматированного текста.
void SetLineLength (float lineLength)
 Максимальная длина строки для форматированного текста.
uint GetFaceSize () const
 Вернуть текущий размер шрифта в точках(1/72 дюйма).
bool SetFaceSize (uint size, uint res=72)
 Установить размер символа для текущего шрифта.
MbCube GetFormattedBoundingBox (const wchar_t *string, int len=-1, MbCartPoint3D position=MbCartPoint3D()) const
 Вернуть ограничивающий прямоугольник отформатированной строки.
MbCube GetBoundingBox (const wchar_t *string, int len=-1, MbCartPoint3D position=MbCartPoint3D(), MbCartPoint3D spacing=MbCartPoint3D()) const
 Вернуть ограничивающий прямоугольник строки.
virtual const MbCubeGetBoundingBox ()
 Выдать габаритный куб.
virtual GeomObject * Duplicate () const
 Сделать копию объекта.
bool isEmpty () const
 Является ли объект пустым.
void Clear ()
 Очистить содержимое и сделать его пустым.
GeomFTTextObject & operator= (const GeomFTTextObject &other)
 Оператор копирования.
 ViewContainer3D ()
 Конструктор по умолчанию.
virtual ~ViewContainer3D ()
 Деструктор.
bool IsEmpty () const
 Является ли контейнер пустым.
size_t GetSize () const
 Вернуть размер контейнера объектов сцены.
std::list< ViewObject3D * > GetObjects ()
 Вернуть все ViewObject3D из контейнера сцены.
std::list< ViewObject3D * > GetVisibleObjects ()
 Вернуть видимые ViewObject3D из контейнера сцены.
ViewObject3D * GetObjectById (uint objId)
 Вернуть указатель на ViewObject3D по идентификатору из контейнера, если этот объект есть.
MbCube GetBoundingBox (bool allObjects=false)
 Вернуть габаритный куб всех видимых объектов.
size_t GetSelectionCount () const
 Вернуть количество выбранных объектов.
std::unordered_map< uint,
ViewObject3D * > * 
GetSelection ()
 Вернуть таблицу выбранных объектов.
bool IsExistViewObject3D (uint objId) const
 Вернуть true, если объект есть в контейнере объектов сцены.
bool IsSelected (uint objId) const
 Вернуть true, если элемент выделен.
bool GetShowState () const
 Вернуть состояние видимости.
int GetShowObjectsCount () const
 Вернуть количество видимых объектов.
uint GetShaderGroup (uint id) const
 Вернуть объект, входящий в указанную шейдер группу.
bool IsExistInShaderGroup (uint id) const
 Вернуть true, если объект находится в шейдер группе.
std::list< std::wstring > GetObjectNamesOfShaderGroup (GLuint shaderId) const
 Вернуть имена экземпляров из специальных шейдер групп.
size_t GetShaderGroupCount () const
 Вернуть количество используемых шейдер групп.
bool IsSpacePartitioningUsed () const
 Вернуть true, если используется пространственное разбиение.
SpacePartitioning * GetSpacePartitioning () const
 Вернуть указатель на пространственное разбиение.
void SetVisible (bool bVisible)
 Установить состояние видимости контейнера.
bool IsVisible () const
 Вернуть true, если контейнер видимый.
bool SetLinkShader (uint shaderId)
 Связать шейдер с новой группой видимых объектов.
bool UnlinkShader (uint shaderId)
 Отсоединить шейдер от контейнера.
bool UnlinkAllShader ()
 Отсоединить все шейдеры.
bool AddObject (const ViewObject3D &obj, uint shaderID=0)
 Добавить визуальный объект в контейнер.
void MoveObjectToShaderGroup (uint objId, uint shaderId)
 Переместить указанный объект в специальную группу шейдеров.
bool RemoveViewObject (uint objId)
 Удалить объект из контейнера.
void Clear ()
 Удалить все объекты из контейнера.
void UpdateBoundingBox ()
 Обновить габаритный куб.
bool SetSelectObject (uint objId, bool primitive=false)
 Выбрать объект по идентификатору.
void SelectAll (bool allShowState=false)
 Выбрать все объекты.
bool UnselectObject (uint objId)
 Cнять выбор с объекта по идентификатору.
void UnselectAll ()
 Снять выбор со всех объектов.
void SetPolygonModeForAll (GLenum face, GLenum mode)
 Установить режим для отрисовки полигона.
void SetVisibleObject (uint objId, bool bVisible)
 Установить видимость объекта по идентификатору.
void SetVisibleAll ()
 Сделать все объекты в контейнере видимыми.
void SetInvisibleAll ()
 Сделать все объекты в контейнере невидимыми.
void SwitchVisibleState ()
 Изменить состояние видимости объектов в контейнере на противоположное.
bool IsLevelOfDetailEnabled () const
 Вернуть признак использования LOD.
void SetLevelOfDetailEnabled (bool bEnabled, Viewport *pView)
 Установить использование LOD.
void SetLinkSpacePartitioning (SpacePartitioning *pSpacePartitioning)
 Связать пространственное разбиение с контейнером объектов.
void UnlinkSpacePartitioning ()
 Отсоединить пространственное разбиение от контейнера объектов.
void SetSpacePartitioningUsage (bool bSpacePartitioning)
 Установить признак использования пространственного разбиения.
void UpdateObjectVisibleState (MbMatrix3D *pMatrix=V_NULL)
 Обновить видимость объектов в усеченном конусе.
void UpdateObjectVisibleState (const Frustum &frustum)
 Обновить видимость по указанному усеченному конусу.
void UpdateSpacePartitioning ()
void SetViewport (Viewport *pViewport)
 Установить контейнеру viewport.
void SetUseVertexBufferObjects (bool usage)
 Установить флаг использования VBO.
void OGLDraw (GLuint groupId, C3DVision::RenderMode renderingMode)
 Отрисовка групп контейнера.
void OGLDrawShaderGroup (C3DVision::RenderMode renderingMode)
 Отрисовка группы шейдеров.
 ViewObject3D ()
 Конструктор по умолчанию.
 ViewObject3D (GeomObject *)
 Специальный конструктор с инициализацией геометрии.
 ViewObject3D (GeomObject *, uint id)
 Специальный конструктор с инициализацией геометрии и уникальным идентификатором.
 ViewObject3D (const GeometryRep3D &)
 Специальный конструктор с инициализацией геометрического представления.
 ViewObject3D (const GeometryRep3D &, uint id)
 Специальный конструктор с инициализацией геометрического представления и идентификатором.
 ViewObject3D (const ViewObject3D &)
 Конструктор копирования.
virtual ~ViewObject3D ()
 Деструктор.
bool IsTransparent () const
 Прозрачен ли весь объект.
bool IsExistTransparentMaterials () const
 Есть ли хотя бы одна прозрачная часть объекта.
bool IsEmpty () const
 Является ли объект пустым.
bool IsSelected () const
 Выбран ли объект.
size_t GetGeometryCount () const
 Получить количество частей геометрии объекта.
GeomObject * GetGeometryByIndex (size_t index) const
 Вернуть геометрическую часть по индексу.
C3DVision::IdType GetUserIdPrimitiveById (int indexBody, uint id) const
 Вернуть пользовательский идентификатор и тип примитива по внутреннему идентификатору.
const GeometryRep3D & GetRepresentation () const
 Получить геометрическое представление объекта.
MbCube GetBoundingBox ()
 Получить копию габаритного куба объекта.
bool IsBoundingBoxValid () const
 Является ли габаритный куб действительным.
const MbMatrix3DGetMatrix () const
 Вернуть абсолютную матрицу трансформации.
ViewObject3D FullDuplicate () const
 Дублировать объект полностью.
ViewObject3D Duplicate ()
 Дублировать объект.
GLenum GetPolygonMode () const
 Вернуть режим отрисовки объекта.
void SetPolygonMode (GLenum face, GLenum mode)
 Установить режим отображения полигонов в выбранном стиле.
RenderState * GetRenderState ()
 Вернуть указатель на состояние отрисовки.
void SetStateRender (const RenderState &)
 Установить состояние отрисовки для этого объекта.
bool IsVisible () const
 Является ли объект видимым.
void SetVisible (bool bVisible)
 Установить видимость объекту.
C3DVision::VisibleState GetVisibleState () const
 Вернуть состояние видимости объекта.
bool SetStateVisible (C3DVision::VisibleState state)
 Установить состояние видимости объекта.
bool IsGeomVisibleByIndex (size_t index) const
 Является ли видимым объект, полученный по индексу.
void SetVisibleGeomByIndex (size_t index, bool bVisible)
 Установить видимость геометрии внутри этого объекта по индексу.
size_t GetFaceCount () const
 Получить количество граней.
size_t GetVertexCount () const
 Получить количество вершин.
size_t GetMaterialCount () const
 Вернуть количество материалов.
std::set< Material * > GetMaterials () const
 Вернуть массив материалов.
int GetDefaultLevelOfDetail () const
 Вернуть значение LOD по умолчанию.
void SetDefaultLevelOfDetail (int value)
 Установить значение LOD по умолчанию этому объекту.
GeometryRep3D GetRepObject () const
 Вернуть представление объекта.
size_t GetBodyCount () const
 Вернуть количество тел в объекте.
bool AddGeometry (GeomObject *)
 Добавить новую геометрию.
void DeleteEmptyGeometry ()
 Удалить пустую геометрию.
void ReverseNormalsOfGeometry ()
 Инвертировать нормали геометрии.
ViewObject3D & Translate (double px, double py, double pz)
 Преобразовать объект по параметрам.
ViewObject3D & Translate (const MbVector3D &)
 Преобразовать объект по вектору.
ViewObject3D & MultMatrix (const MbMatrix3D &)
 Преобразовать объект по указанной матрице.
ViewObject3D & SetMatrix (const MbMatrix3D &)
 Установить абсолютную матрицу по матрице.
ViewObject3D & ResetMatrixToIdentityMatrix ()
 Сбросить абсолютную матрицу до единичной.
void SetUseFullMatrix (bool bUse)
 Использовать полную матрицу с учетом абсолютной матрицы объекта.
void SetFullMatrix (const MbMatrix3D &mx)
 Установить полную матрицу с учетом абсолютной матрицы объекта.
void ResetFullMatrixToIdentityMatrix ()
 Сбросить полную матрицу до единичной.
void SetSelect (bool primitive)
 Установить признак выбранного объекта в геометрии.
void Unselect ()
 Снять выбор объекта в геометрии.
void SetId (uint id)
 Установить идентификатор объекту.
void SetUseVertexBufferObjects (bool usage)
 Установить признак использования VBO.
void OGLDrawGivenMode (C3DVision::RenderMode renderingMode=C3DVision::ShadedMode, bool useLod=false, Viewport *pView=V_NULL)
 Отрисовать представления этого объекта в заданном режиме.
void OGLDrawBodySelectionMode ()
 Отрисовка тела в режиме выбора.
size_t OGLDrawPrimitiveSelectionMode (uint idBody)
 Отрисовать примитивы объекта в режиме выбора по идентификатору тела и вернуть индекс тела.
ViewObject3D & operator= (const ViewObject3D &)
 Оператор копирования.
 Viewport ()
 Конструктор по умолчанию.
virtual ~Viewport ()
 Деструктор.
Camera * GetCamera () const
 Вернуть указатель на камеру, ассоциированную с Viewport.
void GetViewportSize (int &width, int &height) const
 Вернуть размер viewport.
void SetSizeViewport (int width, int height, bool updateViewport=true)
 Установить новые размеры viewport.
MbCartPoint NormalizedMousePosition (int x, int y)
 Вернуть нормализованное положение мыши с учетом размера viewport.
MbCartPoint ScreenPointToOpenGLScreen (int x, int y)
 Конвертировать экранные координаты мыши в экранные координаты OpenGL.
MbCartPoint ScreenNormalizedToOpenGLScreen (double x, double y)
 Конвертировать нормализованные экранные координаты мыши в экранные координаты OpenGL.
MbVector3D PositionMouseToVector (GLdouble posX, GLdouble posY) const
 Вернуть вектор взгляда по данной позиции мыши.
MbVector3D NormalizedPositionMouseToVector (double posX, double posY) const
 Вернуть нормализованный вектор взгляда по данной позиции мыши.
double GetCameraAngle () const
 Вернуть угол обзора камеры для этого Viewport.
void SetCameraAngle (double angle)
 Установить угол обзора камеры для этого Viewport.
double GetTangentCamera () const
 Вернуть тангенс камеры для этого Viewport.
double GetDistanceToNearClippingPlane () const
 Получить расстояние до ближайшей плоскости отсечения.
bool SetDistanceToNearClippingPlane (double dis)
 Установить расстояние до ближайшей плоскости отсечения.
double GetDistanceToFarClippingPlane () const
 Получить расстояние до дальней плоскости отсечения.
bool SetDistanceToFarClippingPlane (double dis)
 Установить расстояние до дальней плоскости отсечения.
void SetDistanceClippingPlane (const MbCube &bBox)
 Установить ближнее и дальнее отсечения по габариту.
const Color & GetBackgroundColour () const
 Вернуть цвет фона порта.
void SetBackgroundColour (const Color &color)
 Установить цвет фона viewport.
void ClearBackground (const Color &color) const
 Oчистить фон специальным цветом.
GLsizei GetSelectionAreaSize () const
 Вернуть размер ловушки для выбора.
void SetSelectionAreaSize (GLsizei size)
 Установить размер ловушки для выбора.
MbMatrix3D GetProjectionMatrix () const
 Вернуть проекционную матрицу.
MbMatrix3D GetMultipleMatrix () const
 Вернуть составную матрицу (проекционная и видовая).
ViewContainer3D * GetWidgetsContainer ()
 Вернуть указатель на контейнер виджетов.
bool IsOrthographicProjection () const
 Вернуть true, если используется ортогональная проекция.
void SetOrthographicProjection (bool bOrthographic)
 Установить использование ортогональной проекции.
int GetPixelCullingSize () const
 Вернуть минимальное количество пикселей при выбранном размере.
void SetPixelCullingSize (int size)
 Установить минимальное количество пикселей при выбранном размере.
double GetStaticPixelCullingRatio () const
 Вернуть минимальное соотношение пикселей для очистки.
double GetDynamicPixelCullingRatio () const
 Вернуть минимальное динамическое соотношение пикселей для очистки.
void InitOpenGl ()
 Инициализация OpenGL.
void glMultMatrixCamera ()
 Добавить матрицу камеры.
void UpdateProjectionMatrix ()
 Обновить viewport и матрицу проецирования.
double GetAspectRatio () const
 Вернуть соотношение сторон экрана.
void SetAspectRatio (double)
 Установить принудительно соотношение сторон экрана.
void UpdateAspectRatio ()
 Обновить соотношение сторон экрана.
const Frustum & GetFrustum () const
 Вернуть усеченный конус этого вида.
Frustum SelectionFrustum (int x, int y) const
 Вернуть усеченный конус для выбора.
void ConvertScreenPointToParallelScreenPlane (const MbCartPoint &logPos, const MbCartPoint3D &origin, MbCartPoint3D &point)
 Преобразовать координаты окна в плоскость, параллельную экрану и проходящую через начало координат сцены.
void WorldPointToScreenPoint (const MbCartPoint3D &wp, MbCartPoint3D &lp) const
 Преобразование мировой точки в оконную.
void ScreenPointToWorldPoint (const MbCartPoint3D &lp, MbCartPoint3D &wp) const
 Преобразование оконной точки в мировую.
MbCartPoint3D UnProject (int x, int y, GLenum buffer=GL_FRONT) const
 Вернуть MbCartPoint3D из экранных координат.
std::vector< MbCartPoint3DUnProject (const std::vector< int > &vectorX, GLenum buffer=GL_FRONT) const
 Вернуть список MbCartPoint3D из экранных координат(размер этого списка должен быть кратным двум).
void OGLDrawBackground ()
 Отрисовать фон.
void OGLDrawWidgets ()
 Отрисовать контейнер виджетов.
uint PickRender (int x, int y, GLenum buffer=GL_BACK)
 Вернуть идентификатор ближайшего объекта и вызвать updateOpenGL.
uint Pick (int x, int y, GLenum buffer=GL_BACK)
 Вернуть идентификатор объекта без вызова updateOpenGL.
uint PickGeometry (ViewObject3D *viewObject, int x, int y, GLenum buffer=GL_BACK)
 Вернуть идентификатор внутренней геометрии viewObject.
void PickGeometryAndPrimitive (ViewObject3D *pViewObject, int x, int y, int &id1, uint &id2, GLenum buffer=GL_BACK)
 Вернуть идентификатор геометрии и примитива геометрии viewObject.
std::set< uint > PickArea (int x1, int y1, int x2, int y2, GLenum buffer=GL_BACK)
 Вернуть идентификаторы объектов внутри указанного прямоугольника в экранных координатах.
uint PickSelectBufferRender (int x, int y)
 Вернуть идентификатор ближайшего объекта и вызвать updateOpenGL.
bool UpdateFrustumPlanes (MbMatrix3D *pMatrix=V_NULL)
 Обновить усеченный конус viewport.
void AddClipPlane (GLenum planeGlEnum, SamplePlane *pPlane)
 Добавить новые плоскости для усечения viewport.
void RemoveClipPlane (GLenum planeGlEnum)
 Удалить плоскость усечения по идентификатору.
void RemoveAllClipPlane ()
 Удалить все плоскости усечения.
void SetClipPlane (bool on)
 Установить флаг использования отсечения.
void AddWidget (ViewObject3D &widget)
 Добавить виджит и отрисовать его.
void ZoomToFit (const MbCube &box, double factor=1.8)
 Увеличить модель до размера viewport по габариту модели.
 Window ()
void Create (void *hWindow, OpenGLContext *pContext)
void * GetHWND () const
GLSurfaceFormat GetFormat () const
void SetFormat (const GLSurfaceFormat &format)
void SetUpdateSelectGLCallBack (CallBackFunc callBack)
virtual GLPlatformSurface * GetSurfaceHandle () const
virtual GLSurfaceType GetSurfaceType () const
virtual Size GetSize () const
virtual void Update ()
virtual void UpdateSelectionGL ()
Конструкторы.
 RenderState ()
 Конструктор по умолчанию.
 RenderState (const RenderState &other)
 Конструктор копирования.
virtual ~RenderState ()
 Деструктор.
Функции получения/задания свойств отрисовки.
RenderingState GetRenderingState () const
 Вернуть текущее состояние отрисовки.
void SetRenderingState (RenderingState state)
 Установить состояние отрисовки.
RenderingState GetProperRenderingState () const
 Вернуть собственное состояние отрисовки. Функция возвращает собственное состояние отрисовки, присущее данному объекту вне зависимости от его временных состояний, таких как режим подсветки или выбор.
GLenum GetPolyFaceMode () const
 Вернуть значение режима отрисовки для граней. Одно из следующих значений отрисовки: GL_FRONT_AND_BACK, GL_FRONT или GL_BACK.
GLenum GetPolygonMode () const
 Вернуть значение режима отрисовки для полигонов. Одно из следующих значений отрисовки: GL_POINT, GL_LINE или GL_FILL.
void SetPolygonMode (GLenum fMode, GLenum pMode)
 Установить режим отображения для граней и полигонов. Режим отрисовки для граней с одним из следующих значений: GL_FRONT_AND_BACK, GL_FRONT, and GL_BACK.
RenderMode GetRenderingMode () const
 Вернуть текущий режим визуализации модели.
void SetRenderingMode (RenderMode mode)
 Установить текущий режим визуализации модели.
bool IsTransparencyRequired () const
 Вернуть true, если текущий режим требует отрисовки с прозрачностью.
int GetCurrentBodyIndex () const
 Вернуть текущий индекс геометрической части.
void SetCurrentBodyIndex (int partIdx)
 Задать текущий индекс геометрической части.
bool IsRenderStateDefault () const
Функции работы с материалом.
Material * GetSpecialMaterial () const
 Вернуть указатель на другой материал, отличный от исходного.
void SetSpecialMaterial (Material *pMaterial)
 Задать другой материал, отличный от исходного.
void SetSpecialMaterialTransparency (float alpha)
 Установить прозрачность специального материала.
float GetSpecialTransparency () const
 Вернуть прозрачность специального материала.
void AddSpecialMaterial (uint id, Material *mat, int partIdx=0)
 Добавить специальный материал для примитива.
void ClearSpecialMaterials ()
 Очистить специальные материалы.
std::unordered_map< uint,
Material * > * 
GetSpecialMaterials () const
 Вернуть контейнер специальных материалов текущей геометрической части.
bool IsSpecialMaterialsEmpty () const
 Вернуть true, если нет специальных материалов.
void ApplyMaterial (Material *)
 Применить указанный материал.
void ExcludeMaterial (Material *)
 Исключить указанный материал.
Функции управления выбором.
bool IsSelected () const
 Вернуть true, если текущий режим отрисовки является выбранным.
void SetSelected (bool selected)
 Установить/Сбрость выбор.
void Unselect ()
 Отменить выбор.
bool IsSelectedPrimitive (uint id) const
 Вернуть true, если примитив является выбранным. Идентификатор примитива.
bool IsSelectedPrimitive (int partIdx, uint id) const
 Вернуть true, если примитив по этому идентификатору и индексу тела является выбранным. Идентификатор примитива.
bool IsNoSelectedPrimitive () const
 Вернуть true, если массив выбранных примитивов пуст.
std::set< uint > * GetSelectedPrimitives () const
 Вернуть массив идентификаторов выбранных примитивов текущей геометрической части.
void AddSelectedPrimitivesId (const std::set< uint > &, int body=0)
 Добавить массив выбранных примитивов по идентификатору и индексу тела.
void AddSelectedPrimitiveId (uint, int body=0)
 Добавить в выбор примитив по идентификатору и индексу геометрической части.
void ClearSelectedPrimitives ()
 Очистить выбранные примитивы.

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

static GeometryRep3D * CreateGeometryRep3D (MbMesh *pMeshItem)
 Cоздать представление тела.
static void Initialize ()
 Инициализировать значения по умолчанию.
static std::string GetVersionOpenGl ()
 Вернуть версию OpenGL.
static std::string GetVendorOpenGl ()
 Вернуть имя поставщика.
static std::string GetRendererOpenGl ()
 Вернуть имя отрисовщика OpenGL.
static bool HasVertexBufferObject ()
 Вернуть true, если есть возможность загрузить данные на видеоустройство.
static bool HasGlsLanguage ()
 Вернуть true, если есть поддержка языка высокого уровня для программирования шейдеров.
static bool HasFrameBufferObject ()
 Возвращает true, если есть поддержка закадровой отрисовки и отрисовка текстуры.
static bool HasFrameBufferObjectBlit ()
 Возвращает true, если есть поддержка закадровой отрисовки и отрисовка текстуры с копированием прямоугольной области пикселей.
static bool HasPointSprites ()
 Возвращает true, если есть поддержка точечных спрайтов.
static bool IsVertexBufferObject ()
 Вернуть флаг возможности загрузки данных в VBO.
static void SetVertexBufferObject (bool set)
 Установить флаг использования загрузки данных в VBO.
static bool IsGlsLanguage ()
 Вернуть флаг использования языка высокого уровня для программирования шейдеров.
static void SetGlsLanguage (bool set)
 Установить флаг использования языка шейдеров.
static bool IsSelectionShader ()
 Вернуть флаг выбора шейдера.
static void SetSelectionShader (bool set)
 Установить флаг использования выбора шейдера.
static bool IsSelectionMode ()
 Вернуть флаг режима выбора.
static void SetSelectionMode (bool set)
 Установить флаг режима выбора.
static bool IsPixelCulling ()
 Вернуть true, если используется pixel culling.
static void SetPixelCulling (bool set)
 Установить флаг использования pixel culling.
static bool IsBoundingVolume ()
 Вернуть флаг использования пространственного разбиения.
static void SetBoundingVolume (bool set)
 Установить флаг использования пространственного разбиения.
static bool IsFrustumCulling ()
 Вернуть флаг использования отсечения по пирамиде.
static void SetFrustumCulling (bool set)
 Установить флаг использования отсечения по пирамиде.
static bool IsReadyFlags ()
 Готовы ли все флаги к использованию пользователем.
static GLSurfaceFormat GetDefaultFormat ()
static void SetDefaultFormat (const GLSurfaceFormat &format)
static int GetLightCount ()
 Вернуть максимальное количество источников освещения.
static size_t GetOperatingLightCount (OpenGLContext *pContext)
 Вернуть количество рабочих источников освещения.
static void SetHighlightMode (bool highlight)
 Установить режим подсветки.
static void SetHighlightColor (const Color &color)
 Установить цвет материала для подсветки.
static void SetSelectionColor (const Color &color)
 Установить цвет материала для выбора.
static void SetSelectionMaterial (Material *pMaterial)
 Установить новый материал для выбора.
static void SetLockSelectionMaterial (bool bLock)
 Установить признак блокировки использования материала для выбора.
static void ResetSelectionMaterial ()
 Сбросить материал выбора. Если не используется, удалить его.
static void glPerform ()
 Выполнить инициализацию материала для отрисовки.
static OpenGLContext * GetCurrentContext ()
 Возвращает последний контекст, который был установлен при вызове MakeCurrent или 0, если контекст не установлен.
static bool IsActivated ()
static void SetActivation (bool activation)
static void ResetCounters ()
static int GetTriangleCount ()
static void AddNumTriangles (int num)
static int GetBodyCount ()
static void AddNumBodies (uint bodies)
static std::set
< SceneSegmentRef * > 
GetSegmentReferences (const SceneSegment *pSegment)
 Вернуть все указатели на ссылочную геометрию указанного сегмента.
static int GetGlobalDefaultLevelOfDetail ()
 Вернуть глобальное значение уровня детализации.
static void SetGlobalDefaultLevelOfDetail (int value)
 Установить глобальное значение уровня детализации.

Защищенные члены

void SetLoaded (bool bLoaded)
 Установить представление загруженным.
virtual void OGLDraw (const RenderState &renderState)
 Выполнить отрисовку.
virtual void OGLDraw (const RenderState &)
 Выполнить отрисовку.
virtual void OGLInitGeom (const RenderState &)
 Выполнить отрисовку.
void OGLDrawWireframe (const RenderState &, GLenum mode)
 Нарисовать каркас в одном из режимов: GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP GL_LINES.
void ClearWireframe ()
 Очистить всю каркасную геометрию.
GeomObjectPrivate & GetGeomObjectPrivate ()
virtual void OGLDraw (const RenderState &renderState)
 Отрисовать полилинию.
 GLPlatformSurface (GLSurface *pSurface)
 Конструктор по умолчанию.
 GLSurface (GLSurfacePrivate &d, GLSurfaceClass type)
 Специальный конструктор по умолчанию для создания поверхности с заданным типом.
virtual void OGLDraw (const RenderState &renderState)
 Отрисовать текст.

Защищенные статические члены

static bool isInitialized (const OpenGLFunctionListPrivate *d)

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

MbCubem_pBoundingBox
uint m_id
 Идентификатор.
std::wstring m_name
 Имя объекта.
HiddenMutex m_mutex
 Мьютекс объекта.
MbCartPoint3D m_pntOld
MbCartPoint3D m_pntNew
MbCartPoint3D m_pntRealOld
std::list< SceneProcessRep * > m_representations
 Массив представлений процесса.
MbVector3D m_oldVector
 Предыдущее состояние перемещения мыши.
Viewport * m_pViewport
 Порт отображения модели.
SceneProcessRep::RepProcessInfo m_processInfo
 Информация о представлении процесса.
unsigned int m_flags
 Флаги показывают, какая из кнопок мыши нажата и нажаты ли клавиши Shift и Ctrl на клавиатуре.
Point m_pntScreen
int m_wheelDelta

Друзья

class AbsGLFunctionListPrivate
class ViewContainer3DPrivate
VSN_FUNC_EX bool operator== (const GLSurfaceFormat &, const GLSurfaceFormat &)
VSN_FUNC_EX bool operator!= (const GLSurfaceFormat &, const GLSurfaceFormat &)

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

Класс Window представляет собой реализацию окна для отрисовки OpenGl'ем.

Класс Viewport определяет viewport. Класс Viewport имеет дополнительные инструменты и функционал по управлению сценой.

Класс ViewObject3D содержит GeometryRep3D + bounding box.

Контейнер для визуальных объектов.

Класс GeomFTTextObject генерирует строку текста для вывода ее на экран.

Класс SceneSegmentRef представляет ссылку на представление геометрии.

Класс SceneSegmentData представляет данные сегмента сцены.

Класс SceneSegment является базовым классом для всех сегментов в графе сцены.

Класс SceneContent представляет содержание сцены в виде графа.

Состояние отрисовки объекта. Класс RenderState хранит состояние отрисовки и предоставляет функции для управления режимами отрисовки объектов ViewObject3D.

Менеджер интерактивного управления процессами.

Событие изменения положения камеры.

Класс WheelEvent содержит параметры, которые описывают события колесика мыши.

Класс MouseEvent содержит параметры, которые описывают события мыши.

Класс InputEvent является базовым классом для событий, который описывает вводимые пользователем данные.

Класс ProcessEvent является событием, а также базовым классом для всех классов событий. Объекты событий содержат параметры события.

Класс Process служит в качестве базового класса для классов, который управляет входными данными пользователя, в том числе манипуляцией со сценой.

Класс PrimitiveCount представляет функционал для подсчета количества объектов в сцене.

Класс PrCameraZoom масштабирования сцены относительно ее центра.

Обработчик поворота камеры.

Класс PrCameraPan обеспечивает панорамирование сцены.

Класс PrCameraOrbit обеспечивает вращение по орбите вокруг цели.

Класс Point определяет точку на плоскости и использует целочисленную точность.

Класс OpenGLFunctionList представляет кроссплатформенный доступ к функциям OpenGL ES 2.0.

Класс OpenGLContext представляет свой контекст OpenGL, который воспроизводит отрисовку на специальном классе GLSurface.

Класс Object является базовым классом для всех объектов сцены.

Функции задания параметров материала для выбранных объектов. Класс SelectionMaterial группирует в себе функции, с помощью которых можно задавать свойства материала для выбранных объектов.

Визуальные свойства материала.

Источник света.

Класс GLSurfaceFormat представляет собой формат GLSurface.

Класс GLSurface представляет собой абстрактную поверхность для визуализации.

Класс GLPlatformSurface обеспечивает абстракцию для поверхности.

Глобальные настройки для модуля визуализации.

Обертка тела.

Сфера.

Конус.

Цилиндр.

Параллелепипед.

Плоский трёхмерный прямоугольник.

Окружность.

Отрезок.

Полилиния.

Абстрактный базовый класс для отрисовочной геометрии.

Класс GeomMeshObject для отрисовки полигонального объекта.

3D представление геометрических данных.

Класс Color определяет цвет на основе значений RGB или HSV, или CMYK.

Класс виртуальной камеры для отрисовки 3D сцены.

Класс виртуальной камеры для отрисовки 3D сцены. Он представляет много разных методов для позиционирования, ориентации камеры, а также точку взгляда на сцену и.т.д. При отрисовке сцены камера расчитывает как матрицу проецирования, так и матрицу вида. Камера может позиционироваться перед любым сегментом сцены для правильного его отображения. Положение и ориентация камеры по умолчанию равны (0,0,1) по направлению взгляда вдоль отрицательной оси.
.

Цвет обычно определяется в терминах RGB (красный, зеленый и синий) компонентов, но его также можно задать с помощью HSV (оттенок, насыщенность и значение) или CMYK(голубой, пурпурный, желтый и черный) компонентов. Кроме того, цвет может быть определен с помощью названия цвета.

Kласс GeomMeshObject содержит триангуляционное представление в виде triangle list, а также triangle strips - способ задания геометрии лентой из треугольников. При этом только первый треугольник из ленты задаётся всеми тремя вершинами, а каждый последующий - лишь одной вершиной, которая добавляется к двум последним вершинам из массива. Наконец, последнее - это triangle fan.
.

Абстрактный базовый класс для отрисовочной геометрии:

Множество точек, которые соединяются между собой ломаной.

Линия, ограниченную конечными точками.

Класс SolidObject представляет тело для отрисовки.
.

Класс GlobalFlags предоставляет функции для управления общими наcтройками модуля визуализации C3D Vision.

Класс GLSurface содержит информацию о размере поверхности, а также атрибуты поверхности, которые доступны через функцию GetFormat().

Формат включает в себя размер буферов цвета: красного, зеленого и синего; размер альфа-буфера; размер глубины и трафаретов, а также число пикселей для сглаживания изображения(multisampling). Кроме того, формат содержит параметры конфигурации поверхности, такие как настройка OpenGL и его версию. Включен ли буфер стереорежима.

Light - точечный источник света. Источник света имеет свою 3D позицию, а также свой сложный цвет.

Класс Material позволяет задавать визуальные параметры материала.

Точка задается координатами х и у, которые можно получить с помощью функций GetX() и GetY(). Функция IsNull() возвращает истину, если обе координаты х и у равны 0. Координаты могут быть установлены или изменены с помощью функций SetX() и SetY() или в качестве альтернативы функциями InitX() и InitY(), которые возвращают ссылки на координаты.

Process предоставляет поддержку для преобразования входных данных пользователя в логику взаимодействия. Объект пользовательского процесса реализует виртуальные функции, которые предоставляются для управления процессом такими устройствами, как мышь и клавиатура и т. д. В качестве примера, если бы приложение нуждалось во вращении камеры по орбите с помощью мышки, производный процесс рализовал бы методы OnLButtonDown, OnLButtonDownAndMove, и OnLButtonUp, чтобы предоставить логику вращению камеры по орбите.
Модуль Vision/GUI предоставляет поддержку для преобразования специальных UI событий в соответствующий метод текущего process, связанного с видом. Аналогично, приложение могло бы вручную преобразовать UI событие в совпадающий метод в текущем процессе без использования Vision/GUI toolkit.

Класс SceneSegment может быть использован как контейнер сегментов. Входящие сегменты добавляются с помощью функций AddSegment() и InsertSegment(). Порядок сегментов является важным, так как геометрические сегменты отрисовываются в соответствии с их положением в графе сцены.

Сегменты графа сцены содержат механизм, который описывает, какие части сцены изменились. Он включает в себя комбинированные матрицы, изменения в иерархии сегментов и т.д.

Класс SceneSegmentData может содержать представление геометрии, а также ссылку на ее. Класс SceneSegmentData может имеет контейнер SceneSegment в качестве дополнительной информации о ссылке на представление.

Класс SceneSegmentRef необходим и выполняет функцию экономии памяти для одинакового представления геометрии.

Содержит таблицу визуальных объектов, а также таблицу связей с шейдерами.

Класс ViewObject3D содержит GeometryRep3D + bounding box.


Перечисления

Элементы перечислений:
Window 

Поверхность является экземпляром окна.

Offscreen 

Нет реализации.

Элементы перечислений:
OpenGLSurface 

Поверхность может быть использована совместно с OpenGLContext.

RasterGLSurface 

Нет реализации.

Элементы перечислений:
LibraryOGL 

OpenGL.

LibraryGLES 

OpenGL ES версии 2.0 или выше.

Элементы перечислений:
None 

Недействительное событие.

LButtonDown 

Левая кнопка мыши нажата.

LButtonUp 

Левая кнопка мыши отпущена.

LButtonDblClk 

Левая кнопка мыши нажата дважды.

MButtonDown 

Средняя кнопка мыши нажата.

MButtonUp 

Средняя кнопка мыши отпущена.

MButtonDblClk 

Средняя кнопка мыши нажата дважды.

RButtonDown 

Правая кнопка мыши нажата.

RButtonUp 

Правая кнопка мыши отпущена.

RButtonDblClk 

Правая кнопка мыши нажата дважды.

MouseMove 

Курсор мыши движется.

MouseWheel 

Колесико мыши крутится.

MouseWheelUp 

Колесико мыши прокручивается вверх.

MouseWheelDown 

Колесико мыши прокручивается вниз.

Timer 

Говорит само за себя.

KeyDown 

Клавиша на клавиатуре нажата.

KeyUp 

Клавиша на клавиатуре отпущена.

Selection 

Событие общего выбора.

JoyStickTranslate 

Трехмерное перемещение вектора от 3D устройства.

JoyStickRotate 

Набор значений поворота от 3D устройства.

JoyStickButton 

Кнопка нажатая от 3D устройства.

Camera 

Изменение позиции камеры.

User 

Идентификатор начального события пользователя.

MaxUser 

Идентификатор конечного события пользователя.

Элементы перечислений:
PR_NoActive 

Процесс не установлен.

PR_Panoramic 

Процесс панорамирования.

PR_Zoom 

Процесс масштабирования.

PR_Rotate 

Процесс вращения камеры.

PR_Orbit 

Процесс вращения камеры по орбите.


Конструктор(ы)

virtual VSN_CLASS::~PrCameraOrbit ( ) [virtual]

Деструктор.

virtual VSN_CLASS::~PrCameraZoom ( ) [virtual]

Деструктор.


Методы

VSN_CLASS::Camera ( )

Конструктор по умолчанию. Позиция взгляда (0, 0, 1), up-вектор инициализирован по оси y (0, 1, 0). Угол обзора составляет 30 градусов и диапазон отсечения составляет (0.1, 1000.0).

void VSN_CLASS::Orbit ( double  angle1,
double  angle2 
)
Аргументы:
[in]angle1- Расстояние в радианах, которое камера обойдет вокруг объекта(Target) слева на право. Может быть отрицательным.
[in]angle2- Расстояние в радианах, которое камера обойдет вокруг объекта(Target) снизу вверх. Может быть отрицательным.
void VSN_CLASS::Roll ( double  angle)
Аргументы:
[in]angle- Угол поворота камеры вокруг оси взгляда в радианах.
VSN_CLASS::GeometryRep3D ( )

Конструктор по умолчанию.

VSN_CLASS::GeometryRep3D ( GeomObject *  )

Конструктор по геометрическим параметрам объекта.

void VSN_CLASS::SetSamples ( int  numSamples)

Если numSamples не равен 0, то сглаживание включено. По умолчанию сглаживание отключено.

Аргументы:
[in]numSamples- Количество пикселей.
void VSN_CLASS::SetSwapInterval ( int  interval)

Интервал определяет минимальное количество смены видеокадров. Он может быть использован для синхронизации swap buffer OpenGL для отображения в окне, т.е. интервал имеет отношение к вертикальной синхронизации экрана. По умолчанию интервал равен 1.

Аргументы:
[in]interval- Интервал.
VSN_CLASS::Material ( const Color &  color)

Конструктор задает диффузный цвет; цвет фона по умолчанию темно-серый.

VSN_CLASS::Material ( const std::wstring &  name,
const GLfloat *  pDiffuseColor 
)
Аргументы:
[in]name- Строковое имя материала.
[in]pDiffuseColor- Цвет диффузии материала.

Конструктор задает имя материала и диффузный цвет; цвет фона по умолчанию темно-серый.

VSN_CLASS::PrCameraOrbit ( Viewport *  pViewport)
Аргументы:
[in]pViewport- Порт представления.
VSN_CLASS::PrCameraOrbit ( const PrCameraOrbit &  other)
Аргументы:
[in]other- Источник процесса для копирования.
VSN_CLASS::PrCameraPan ( Viewport *  pViewport)
Аргументы:
[in]pViewport- Порт представления.
VSN_CLASS::PrCameraPan ( const PrCameraPan &  other)
Аргументы:
[in]other- Источник копирования.
VSN_CLASS::PrCameraRotate ( Viewport *  pViewport)
Аргументы:
[in]pViewport- Порт представления.
VSN_CLASS::PrCameraRotate ( const PrCameraRotate &  )
Аргументы:
[in]other- Обработчик поворота стола.
VSN_CLASS::PrCameraZoom ( Viewport *  pViewport)
Аргументы:
[in]pViewport- Порт представления.
VSN_CLASS::PrCameraZoom ( const PrCameraZoom &  other)
Аргументы:
[in]other- Процесс масштабирования.
double VSN_CLASS::GetMaxZoomFactor ( ) const
Возвращает:
Возвращает коэффициент масштабирования.
void VSN_CLASS::SetMaxZoomFactor ( double  factor)
Аргументы:
[in]factor- Коэффициент масштабирования.
VSN_CLASS::Process ( Viewport *  pViewport)
Аргументы:
[in]pViewport- Порт представления.
VSN_CLASS::Process ( const Process &  other)
Аргументы:
[in]other- Другой процесс для копирования.
virtual Process* VSN_CLASS::Duplicate ( ) const [pure virtual]
Возвращает:
Указатель на копию процесса.
virtual void VSN_CLASS::Activate ( ProcessEvent *  event) [pure virtual]
Аргументы:
[in]event- Параметр события активации.
virtual bool VSN_CLASS::Motion ( ProcessEvent *  event) [pure virtual]
Аргументы:
[in]event- Параметр события перемещения.
Возвращает:
Возвращает состояние операции.
void VSN_CLASS::SetRepresentations ( const std::list< SceneProcessRep * > &  reps)
Аргументы:
[in]reps- Список представлений.
void VSN_CLASS::SetFlags ( int  flags) [inline]
Аргументы:
[in]flags- Побитовые флаги для состояния мыши и клавиш. Например, если и клавиша Shift, и левая кнопка мыши нажаты, пропустить PR_SHIFT|PR_LBUTTON.
void VSN_CLASS::SetScreenPos ( Point &  point) [inline]
Аргументы:
[in]point- Точка в координатах окна.
void VSN_CLASS::SetWheelDelta ( int  wheelDelta)
Аргументы:
[in]wheelDelta- Новое измененное значение колесика мыши.
VSN_CLASS::CameraEvent ( double  x = 0.0,
double  y = 0.0 
)
Аргументы:
[in]x- Значение вдоль оси Ox.
[in]y- Значение вдоль оси Oy.
const MbCartPoint& VSN_CLASS::GetPosition ( ) const
Возвращает:
Точка.
void VSN_CLASS::SetPosition ( const MbCartPoint point)
Аргументы:
[in]point- Точка.
void VSN_CLASS::SetPosition ( double  x,
double  y 
)
Аргументы:
[in]x- Значение вдоль оси Ox.
[in]y- Значение вдоль оси Oy.
const MbVector& VSN_CLASS::GetNormalizeTouchCenter ( ) const
Возвращает:
Нормализация положения центра касаний.
void VSN_CLASS::SetNormalizeTouchCenterPosition ( const MbVector normalize)
Аргументы:
[in]normalize- Вектор.
const MbVector& VSN_CLASS::GetTranslation ( ) const
Возвращает:
Вектор перемещения.
void VSN_CLASS::SetTranslation ( const MbVector translation)
Аргументы:
[in]translation- Вектор перемещения.
void VSN_CLASS::SetTransformation ( const MbVector translation,
double  rotation = 0.0,
double  scaleFactor = 1.0 
)
Аргументы:
[in]translation- Вектор перемещения.
[in]rotation- Угол поворота.
[in]zoomFactor- Коэффициент масштабирования.
const MbCube& VSN_CLASS::GetBoundingBox ( ) const
Возвращает:
Габаритный куб.
void VSN_CLASS::SetBoundingBox ( const MbCube boundingBox)
Аргументы:
[in]boundingBox- Габаритный куб.
double VSN_CLASS::GetRotationAngle ( ) const
Возвращает:
Угол поворота.
void VSN_CLASS::SetRotation ( double  rotation)
Аргументы:
[in]rotation- Угол поворота.
double VSN_CLASS::GetZoomFactor ( ) const
Возвращает:
Коэффициент масштабирования.
void VSN_CLASS::SetZoomFactor ( double  zoomFactor)
Аргументы:
[in]zoomFactor- Коэффициент масштабирования.
bool VSN_CLASS::IsTransformation ( ) const
Возвращает:
True, если преобразование было установлено.
bool VSN_CLASS::IsExistActiveProcess ( ) const
Возвращает:
Вернуть true, если процесс активный.
int VSN_CLASS::GetActiveProcessId ( ) const
Возвращает:
Идентификатор активного процесса.
Process* VSN_CLASS::GetActiveProcess ( ) const
Возвращает:
Указатель на активный процесс.
Process* VSN_CLASS::GetProcess ( int  id) const
Аргументы:
[in]id- Идентификатор интерактивного процесса.
Возвращает:
Указатель на процесс.
void VSN_CLASS::AddProcess ( Process *  scene,
int  id 
)
Аргументы:
[in]scene- Идентификатор интерактивного процесса.
[in]id- Идентификатор интерактивного процесса.
void VSN_CLASS::RemoveProcess ( int  id)
Аргументы:
[in]id- Идентификатор интерактивного процесса.
void VSN_CLASS::ActivateProcess ( int  id,
ProcessEvent *  event 
)
Аргументы:
[in]id- Идентификатор интерактивного процесса.
[in]event- Событие перемещения.
bool VSN_CLASS::MoveActivateProcess ( ProcessEvent *  event)
Аргументы:
[in]event- Событие перемещения.
ProcessManager& VSN_CLASS::operator= ( const ProcessManager &  other)
Аргументы:
[in]other- Источник для копирования.
void VSN_CLASS::SetPolygonMode ( GLenum  fMode,
GLenum  pMode 
)
Аргументы:
[in]pMode- Режим отрисовки для кривых с одним из следующих значений: GL_POINT, GL_LINE, or GL_FILL.
void VSN_CLASS::AddSpecialMaterial ( uint  id,
Material *  mat,
int  partIdx = 0 
)
Аргументы:
[in]id- Идентификатор примитива.
[in]mat-Указатель на идентификатор примитива.
[in]partIdx- Индекс геометрической части.
std::unordered_map<uint, Material*>* VSN_CLASS::GetSpecialMaterials ( ) const

Функция возвращает таблицу указателей на специальные материалы и идентификаторы примитивов текущей геометрической части.

bool VSN_CLASS::IsSelectedPrimitive ( int  partIdx,
uint  id 
) const
Аргументы:
[in]partIdx- Индекс геометрической части.
std::list<std::wstring> VSN_CLASS::GetObjectNamesOfShadingGroup ( GLuint  id) const
Аргументы:
[in]id- Идентификатор группы.
Возвращает:
Список имён объектов.
size_t VSN_CLASS::GetShadingGroupCount ( ) const
Возвращает:
Число шейдинг групп.
SceneSegment* VSN_CLASS::GetSegment ( uint  id) const
Аргументы:
[in]id- Идентификатор сегмента.
Возвращает:
Указатель на сегмент сцены.
bool VSN_CLASS::IsExistSegment ( uint  id) const
Аргументы:
[in]id- Идентификатор сегмента.
Возвращает:
True, если в контейнере есть сегмент с таким идентификатором, иначе - false.
void VSN_CLASS::ReplaceRootSegment ( SceneSegment *  pSegment)
Аргументы:
[in]pSegment- Новый корневой сегмент сцены.
void VSN_CLASS::MergeContents ( SceneContent &  pScene)
Аргументы:
[in]Scene- Сцена, с которой происходит слияние.
void VSN_CLASS::SetRootSegmentName ( const std::wstring &  name)
Аргументы:
[in]name- Имя сегмента.
void VSN_CLASS::SetUpVector ( const MbVector3D vect)

Задать сцене Up вектор.

Аргументы:
[in]vect- Задаваемый Up вектор.
void VSN_CLASS::SetViewport ( Viewport *  pViewport)
Аргументы:
[in]pViewport- Указатель на viewport.
void VSN_CLASS::SelectSegment ( const SceneSegment *  pSegment)
Аргументы:
[in]pNode- Заданный сегмент.
void VSN_CLASS::SelectSegment ( uint  segmentId)
Аргументы:
[in]nodeId- Идентификатор сегмента.
void VSN_CLASS::UnselectSegment ( uint  segmentId)
Аргументы:
[in]nodeId- Идентификатор сегмента.
void VSN_CLASS::ReverseSelectedSegmentsState ( )

Скрыть или показать выбранные (выделенные) сегменты.
Состояние выделенных сегментов меняется на противоположное(show/hide).

SceneContent& VSN_CLASS::operator= ( const SceneContent &  )

Оператор присваивания.

bool VSN_CLASS::operator== ( const SceneContent &  other) const

Оператор сравнения.

Аргументы:
[in]other- Сцена для сравнения.
Возвращает:
True, если содержание сравниваемых сцен не отличается, иначе - false.
void VSN_CLASS::OGLDraw ( GLuint  groupId,
C3DVision::RenderMode  renderingMode = C3DVision::ShadedMode 
)
Аргументы:
[in]groupId- Идентификатор группы.
[in]renderingMode- Режим отображения геометрии.
void VSN_CLASS::OGLDrawShaderGroup ( C3DVision::RenderMode  renderingMode = C3DVision::ShadedMode)

Объекты, которые использует шейдер при отрисовке объектов.

Аргументы:
[in]renderingMode- Режим отображения геометрии.
VSN_CLASS::SceneSegment ( uint  id)
Аргументы:
[in]id- Идентификатор сегмента.
VSN_CLASS::SceneSegment ( SceneSegmentData *  pSegmentData,
SceneDescriptor *  pDescriptor = V_NULL,
GLuint  shaderId = 0 
)
Аргументы:
[in]pSegmentData- Сегмент графа данных сцены.
[in]pDescriptor- Описание сцены.
[in]shaderId- Идентификатор шейдера.
VSN_CLASS::SceneSegment ( SceneSegmentData *  pSegmentData,
uint  id,
SceneDescriptor *  pDescriptor = V_NULL,
GLuint  shaderId = 0 
)
Аргументы:
[in]pSegmentData- Данные сегмента графа сцены.
[in]id- Идентификатор сегмента.
[in]pDescriptor- Описание сцены.
[in]shaderId- Идентификатор шейдера.
VSN_CLASS::SceneSegment ( GeometryRep3D *  pRep)
Аргументы:
[in]pRep- Представление геометрии.
VSN_CLASS::SceneSegment ( GeometryRep3D *  pRep,
uint  id 
)
Аргументы:
[in]pRep- Представление геометрии.
[in]id- Идентификатор сегмента.
VSN_CLASS::SceneSegment ( SceneDescriptor *  pDescriptor,
const SceneSegment &  segment,
bool  bCommonSegment 
)
Аргументы:
[in]pDescriptor- Описание сцены.
[in]segment- Сегмент сцены.
[in]bCommonSegment- Общий сегмент.
void VSN_CLASS::SetName ( const std::wstring &  name)
Аргументы:
[in]name- Имя сегмента.
const MbMatrix3D& VSN_CLASS::GetAbsoluteMatrix ( ) const

Вернуть абсолютную матрицу сегмента.

Возвращает:
Абсолютная матрица сегмента.
MbMatrix3D VSN_CLASS::GetRelativeMatrix ( ) const
Возвращает:
Относительная матрица сегмента.
bool VSN_CLASS::IsRootSegment ( ) const
Возвращает:
True, если нет родителя.
bool VSN_CLASS::HasParent ( ) const
Возвращает:
True, если есть родитель.
bool VSN_CLASS::HasRep ( ) const
Возвращает:
True, если есть представление.
bool VSN_CLASS::HasViewObject3D ( ) const
Возвращает:
True, если в сегменте есть ViewObject3D.
bool VSN_CLASS::CanInsertToSegment ( SceneSegment *  pSegment) const
Аргументы:
[in]pSegment- Сегмент.
Возвращает:
True, если данный сегмент может быть добавлен в массив сегментов.
SceneSegment* VSN_CLASS::GetSegmentAt ( size_t  index) const
Аргументы:
[in]index- Индекс сегмента.
Возвращает:
Указатель на сегмент сцены, если такой есть.
SceneSegment* VSN_CLASS::Duplicate ( SceneDescriptor *  pDescriptor,
bool  bCommonSegment 
) const
Аргументы:
[in]pDescriptor- Описание сцены.
[in]bCommonSegment- Общий ли сегмент.
Возвращает:
Сегмент сцены.
static std::set<SceneSegmentRef*> VSN_CLASS::GetSegmentReferences ( const SceneSegment *  pSegment) [static]
Аргументы:
[in]pSegment- Сегмент сцены.
Возвращает:
Массив указателей на ссылки.
void VSN_CLASS::SetIndependentCreateViewObject ( bool  bIndependent)
Аргументы:
[in]bIndependent- Значение признака.
ptrdiff_t VSN_CLASS::GetIndexOf ( const SceneSegment *  pSegment) const
Аргументы:
[in]pSegment- Сегмент сцены.
Возвращает:
Индекс.
bool VSN_CLASS::ExistSegment ( const SceneSegment *  pSegment) const
Аргументы:
[in]pSegment- Сегмент сцены.
Возвращает:
True, если в этом сегменте содержится указанный сегмент.
SceneSegment* VSN_CLASS::RefreshSubSegmentAbsoluteMatrix ( )

Обновить абсолютную матрицу внутренних подсегментов.

Возвращает:
Сегмент сцены.
void VSN_CLASS::AddSegment ( SceneSegment *  pSegment)
Аргументы:
[in]pSegment- Сегмент сцены.
void VSN_CLASS::InsertSegment ( int  index,
SceneSegment *  pSegment 
)
Аргументы:
[in]index- Индекс позиции.
[in]pSegment- Сегмент сцены.
SceneSegment* VSN_CLASS::AddSegment ( SceneSegmentData *  pSegmentData)
Аргументы:
[in]pSegmentData- Сегмент данных графа сцены.
Возвращает:
Созданный сегмент сцены.
SceneSegment* VSN_CLASS::InsertSegment ( int  index,
SceneSegmentData *  pSegmentData 
)
Аргументы:
[in]index- Индекс позиции.
[in]pSegmentData- Данные сегмента графа сцены.
Возвращает:
Созданный сегмент сцены.
bool VSN_CLASS::RemoveSegment ( SceneSegment *  pSegment)
Аргументы:
[in]pSegment- Сегмент сцены.
Возвращает:
True, если сегмент найден и удален.
bool VSN_CLASS::CreateViewObject3D ( GLuint  shaderId = 0)
Аргументы:
[in]shaderId- Идентификатор шейдера.
Возвращает:
True, если ViewObject3D создан.
void VSN_CLASS::SetSceneDescriptor ( SceneDescriptor *  pDescriptor)
Аргументы:
[in]pDescriptor- Описание сцены.
void VSN_CLASS::SetSegmentCount ( uint  count)
Аргументы:
[in]count- Количество вхождений сегмента.
uint VSN_CLASS::UpdateSegmentCount ( uint  count)
Аргументы:
[in]count- Количество вхождений сегмента.
Возвращает:
Обновленное количество вхождений сегмента.
void VSN_CLASS::SetVisible ( bool  bVisible)
Аргументы:
[in]bVisible- Признак видимости.
void VSN_CLASS::SetRenderStates ( const RenderState &  renderState)
Аргументы:
[in]renderState- Состояние отрисовки.
void VSN_CLASS::SetReference ( SceneSegmentRef *  pRef)
Аргументы:
[in]pRef- Cегмент ссылки графа сцены.
void VSN_CLASS::CreateRelativeMatrix ( const MbMatrix3D relativeMatrix)

Создать относительную матрицу по указанной с удалением старой.

Аргументы:
[in]relativeMatrix- Указанная относительная матрица.
void VSN_CLASS::SwapSegment ( size_t  i,
size_t  j 
)
Аргументы:
[in]i- Номер сегмента.
[in]j- Номер сегмента.
VSN_CLASS::SceneSegmentData ( SceneSegmentRef *  pRef = V_NULL)
Аргументы:
[in]pRef- Узел ссылки графа сцены.
VSN_CLASS::SceneSegmentData ( AbstractRep *  pRep)
Аргументы:
[in]pRep- Представление.
VSN_CLASS::SceneSegmentData ( const SceneSegmentData &  other)
Аргументы:
[in]other- Данные сегмента графа сцены.
VSN_CLASS::SceneSegmentData ( SceneSegmentData *  pOther)
Аргументы:
[in]pOther- Указатель на данные сегмента.
VSN_CLASS::SceneSegmentData ( const std::wstring &  name)
Аргументы:
[in]name- Имя.
void VSN_CLASS::SetReference ( SceneSegmentRef *  pSegmentRef)
Аргументы:
[in]pSegmentRef- Узел ссылки графа сцены.
bool VSN_CLASS::HasSegmentData ( ) const
Возвращает:
True, если этот сегмент имеет данные.
void VSN_CLASS::SetName ( const std::wstring &  name)
Аргументы:
[in]name- Устанавливаемое имя.
void VSN_CLASS::AddSegment ( SceneSegment *  pSegment)
Аргументы:
[in]pSegment- Добавляемый сегмент.
void VSN_CLASS::RemovedSegment ( SceneSegment *  pSegment)
Аргументы:
[in]pSegment- Удаляемый сегмент.
SceneSegmentData* VSN_CLASS::Move ( const MbMatrix3D matrix)
Аргументы:
[in]matrix- Матрица перемещения.
Возвращает:
Переместить данные по матрице.
SceneSegmentData* VSN_CLASS::Translate ( double  x,
double  y,
double  z 
)
Аргументы:
[in]x- Координата x.
[in]y- Координата y.
[in]z- Координата z.
Возвращает:
Преобразованный сегмент данных.
SceneSegmentData* VSN_CLASS::Translate ( const MbVector3D vec)
Аргументы:
[in]vec- Вектор преобразования.
Возвращает:
Преобразованный сегмент данных.
SceneSegmentData* VSN_CLASS::SetMatrix ( const MbMatrix3D matrix)
Аргументы:
[in]matrix- Новая относительная матрица.
Возвращает:
Сегмент данных с изменённой матрицей.
SceneSegmentData* VSN_CLASS::ResetToIdentityMatrix ( )
Возвращает:
Сегмент данных со сброшенной в единичную матрицей.
VSN_CLASS::SceneSegmentRef ( const std::wstring &  name = std::wstring())
Аргументы:
[in]name- Имя.
VSN_CLASS::SceneSegmentRef ( AbstractRep *  pRep)
Аргументы:
[in]pRep- Представление.
VSN_CLASS::SceneSegmentRef ( const SceneSegmentRef &  other)
Аргументы:
[in]other- Другой источник.
bool VSN_CLASS::HasDataSegment ( ) const
Возвращает:
True, если в этой ссылке есть экземпляр данных.
SceneSegmentData* VSN_CLASS::GetHeadDataSegment ( ) const
Возвращает:
Указатель на первый сегмент данных.
bool VSN_CLASS::IsHasRep ( ) const
Возвращает:
True, если данная ссылка имеет представление.
void VSN_CLASS::SetRepresentation ( const GeometryRep3D &  rep)
Аргументы:
[in]rep- Источник представления.
void VSN_CLASS::SetName ( const std::wstring &  name)
Аргументы:
[in]rep- Имя.
void VSN_CLASS::SetRepName ( const std::wstring &  repName)
Аргументы:
[in]repName- Имя представления.
bool VSN_CLASS::IsLoadedRep ( ) const
Возвращает:
True, если представление загружено.
bool VSN_CLASS::IsEmptyRep ( ) const
Возвращает:
True, если представление является пустым либо представления нет.
void VSN_CLASS::AddSegmentData ( SceneSegmentData *  pSegmentData)
Аргументы:
[in]pSegmentData- Новый сегмент данных.
void VSN_CLASS::RemoveSegmentData ( SceneSegmentData *  pSegmentData)
Аргументы:
[in]pSegmentData- Удаляемый сегмент данных.
std::list<SceneSegment*> VSN_CLASS::AddChild ( SceneSegment *  pSceneSegment)

Добавить данные сцены во все подсегменты этой ссылки. Вернуть массив сегментов, добавленных этой ссылкой.

Аргументы:
[in]pSceneSegment- Добавляемая сцена.
Возвращает:
Массив сегментов, добавленных этой ссылкой.
SceneSegmentRef& VSN_CLASS::operator= ( const SceneSegmentRef &  )
Аргументы:
[in]Копируемыйсегмент данных.
Возвращает:
Ссылка на копию сегмента данных.
VSN_CLASS::GeomFTTextObject ( const char *  fontFilePath)

Специальный конструктор необходим для чтения шрифта из файла, а также установки флага ошибки.

Аргументы:
[in]fontFilePath- Путь к файлу шрифта.
VSN_CLASS::GeomFTTextObject ( const unsigned char *  pBufferBytes,
size_t  bufferSizeInBytes 
)

Специальный конструктор для чтения шрифта из буфера памяти.

Специальный конструктор необходим для чтения шрифта из буфера памяти, а также установки флага ошибки. Буфер принадлежит пользователю и не копируется. Указатель должен быть действителен для использования.

Аргументы:
[in]fontFilePath- Путь к файлу шрифта.
[in]bufferSizeInBytes- Длина буфера в байтах.
float VSN_CLASS::GetLineLength ( ) const
Возвращает:
Текущая длина строки.
void VSN_CLASS::SetLineLength ( float  lineLength)
Аргументы:
[in]lineLength- Новая длина строки.
uint VSN_CLASS::GetFaceSize ( ) const
Возвращает:
Размер шрифта.
bool VSN_CLASS::SetFaceSize ( uint  size,
uint  res = 72 
)
Аргументы:
[in]size- Размер шрифта в точках (1/72 дюйма).
[in]res- Разрешение устройства.
Возвращает:
True, если размер установлен корректно.
MbCube VSN_CLASS::GetFormattedBoundingBox ( const wchar_t *  string,
int  len = -1,
MbCartPoint3D  position = MbCartPoint3D() 
) const
Аргументы:
[in]string- Строка.
[in]len- Длина строки.
[in]position- Позиция пера для первого символа.
Возвращает:
Соответствующий ограничивающий прямоугольник.
MbCube VSN_CLASS::GetBoundingBox ( const wchar_t *  string,
int  len = -1,
MbCartPoint3D  position = MbCartPoint3D(),
MbCartPoint3D  spacing = MbCartPoint3D() 
) const
Аргументы:
[in]string- Строка.
[in]len- Длина строки.
[in]position- Позиция пера для первого символа.
[in]spacing- Вектор смещения для каждого символа.
Возвращает:
Соответствующий ограничивающий прямоугольник.
bool VSN_CLASS::IsEmpty ( ) const
Возвращает:
Вернуть true, если контейнер пустой.
size_t VSN_CLASS::GetSize ( ) const
Возвращает:
Размер контейнера.
std::list<ViewObject3D*> VSN_CLASS::GetObjects ( )
Возвращает:
Список всех ViewObject3D в контейнере сцены.
std::list<ViewObject3D*> VSN_CLASS::GetVisibleObjects ( )
Возвращает:
Список всех видимых ViewObject3D в контейнере сцены.
ViewObject3D* VSN_CLASS::GetObjectById ( uint  objId)
Аргументы:
[in]objId- Идентификатор объекта.
Возвращает:
Указатель на объект, может быть равен null.
MbCube VSN_CLASS::GetBoundingBox ( bool  allObjects = false)
Аргументы:
[in]allObjects- Если true, то вернуть габаритный куб только видимых объектов, в противном случае- всех объектов.
Возвращает:
Объединённый габаритный куб.
size_t VSN_CLASS::GetSelectionCount ( ) const
Возвращает:
Количество выбранных объектов.
std::unordered_map<uint, ViewObject3D*>* VSN_CLASS::GetSelection ( )
Возвращает:
Таблица объектов.
bool VSN_CLASS::IsExistViewObject3D ( uint  objId) const
Аргументы:
[in]objId- Идентификатор объекта.
Возвращает:
True, если объект есть в контейнере.
bool VSN_CLASS::IsSelected ( uint  objId) const
Аргументы:
[in]objId- Идентификатор объекта.
Возвращает:
True, если объект выделен.
bool VSN_CLASS::GetShowState ( ) const

Вернуть состояние видимости, рассчитанное механизмом оптимизации.

Возвращает:
True, если объект видим.
int VSN_CLASS::GetShowObjectsCount ( ) const
Возвращает:
Количество видимых объектов.
uint VSN_CLASS::GetShaderGroup ( uint  id) const
Аргументы:
[in]id- Идентификатор объекта.
Возвращает:
Идентификатор шейдера.
bool VSN_CLASS::IsExistInShaderGroup ( uint  id) const
Аргументы:
[in]id- Идентификатор объекта.
Возвращает:
True, если объект находится в шейдер группе.
std::list<std::wstring> VSN_CLASS::GetObjectNamesOfShaderGroup ( GLuint  shaderId) const
Аргументы:
[in]shaderId- Матрица перемещения.
Возвращает:
Имена объектов, входящих в шейдер группу.
size_t VSN_CLASS::GetShaderGroupCount ( ) const
Возвращает:
Количество шейдер групп.
bool VSN_CLASS::IsSpacePartitioningUsed ( ) const
Возвращает:
True, если пространственное разбиение используется.
SpacePartitioning* VSN_CLASS::GetSpacePartitioning ( ) const
Возвращает:
Указатель на пространственное разбиение.
void VSN_CLASS::SetVisible ( bool  bVisible)
Аргументы:
[in]bVisible- Флаг видимости.
bool VSN_CLASS::IsVisible ( ) const
Возвращает:
True, если контейнер видимый.
bool VSN_CLASS::SetLinkShader ( uint  shaderId)
Аргументы:
[in]shaderId- Идентификатор шейдера.
Возвращает:
False, если шейдер уже используется, в противном случае создается новая группа объектов, связанная с этим шейдером.
bool VSN_CLASS::UnlinkShader ( uint  shaderId)
Аргументы:
[in]shaderId- Идентификатор шейдера.
Возвращает:
True, если шейдер отсоединён.
bool VSN_CLASS::UnlinkAllShader ( )
Возвращает:
True, если все шейдеры отсоединены.
bool VSN_CLASS::AddObject ( const ViewObject3D &  obj,
uint  shaderID = 0 
)
Аргументы:
[in]obj- Добавляемый объект.
[in]shaderId- Идентификатор шейдера.
Возвращает:
True, если операция прошла успешно.
void VSN_CLASS::MoveObjectToShaderGroup ( uint  objId,
uint  shaderId 
)
Аргументы:
[in]objId- Перемещаемый объект.
[in]shaderId- Идентификатор шейдера.
bool VSN_CLASS::RemoveViewObject ( uint  objId)

Удалить объект из контейнера, а также убрать все связи с ним.

Аргументы:
[in]objId- Удаляемый объект.
Возвращает:
True, если операция прошла успешно.
bool VSN_CLASS::SetSelectObject ( uint  objId,
bool  primitive = false 
)
Аргументы:
[in]objId- Идентификатор объекта.
[in]primitive- Флаг выбора примитивов.
Возвращает:
True, если операция выполнена успешно.
void VSN_CLASS::SelectAll ( bool  allShowState = false)
Аргументы:
[in]allShowState- Установить статус выбора.
bool VSN_CLASS::UnselectObject ( uint  objId)
Аргументы:
[in]objId- Визуальный объект.
Возвращает:
True, если операция выполнена успешно.
void VSN_CLASS::SetPolygonModeForAll ( GLenum  face,
GLenum  mode 
)
Аргументы:
[in]face- Указывает, к лицевой, тыльной или к обеим сторонам применяется опция, заданная вторым параметром. Может применять значения GL_FRONT, GL_BACK и GL_FRONT_AND_BACK.
[in]mode- Указывает, как будет рисоваться полигон. Он принимает значения: GL_POINT(рисует только точки), GL_LINE(рисует линии) и GL_FILL(рисует заполненные полигоны).
void VSN_CLASS::SetVisibleObject ( uint  objId,
bool  bVisible 
)
Аргументы:
[in]objId- Визуальный объект.
[in]bVisible- Флаг видимости.
bool VSN_CLASS::IsLevelOfDetailEnabled ( ) const
Возвращает:
True, если используются LOD.
void VSN_CLASS::SetLevelOfDetailEnabled ( bool  bEnabled,
Viewport *  pView 
)
Аргументы:
[in]bEnabled- Флаг использования LOD.
[in]bView- Viewport.
void VSN_CLASS::SetLinkSpacePartitioning ( SpacePartitioning *  pSpacePartitioning)
Аргументы:
[in]pSpacePartitioning- Пространственное разбиение.
void VSN_CLASS::SetSpacePartitioningUsage ( bool  bSpacePartitioning)
Аргументы:
[in]bSpacePartitioning- Флаг использования пространственного разбиения.
void VSN_CLASS::UpdateObjectVisibleState ( MbMatrix3D pMatrix = V_NULL)
Аргументы:
[in]pMatrix- Новая матрица в усеченном конусе.
void VSN_CLASS::UpdateObjectVisibleState ( const Frustum &  frustum)
Аргументы:
[in]frustum- Источник усечения.
void VSN_CLASS::UpdateSpacePartitioning ( )

Обновить пространственное разбиение.

void VSN_CLASS::SetViewport ( Viewport *  pViewport)
Аргументы:
[in]pViewport- Указатель на viewport.
void VSN_CLASS::SetUseVertexBufferObjects ( bool  usage)
Аргументы:
[in]usage- Флаг использования VBO.
void VSN_CLASS::OGLDraw ( GLuint  groupId,
C3DVision::RenderMode  renderingMode 
)
Аргументы:
[in]groupId- Идентификатор группы.
[in]renderingMode- Способ отрисовки.
void VSN_CLASS::OGLDrawShaderGroup ( C3DVision::RenderMode  renderingMode)
Аргументы:
[in]renderingMode- Способ отрисовки.
GLenum VSN_CLASS::GetPolygonMode ( ) const

Вернуть режим отрисовки объекта. Режим может быть: GL_POINT, GL_LINE или GL_FILL.

void VSN_CLASS::SetPolygonMode ( GLenum  face,
GLenum  mode 
)

Установить режим отображения полигонов в выбранном стиле. Режим сетки может быть: GL_FRONT_AND_BACK, GL_FRONT или GL_BACK. Стиль может быть: GL_POINT, GL_LINE или GL_FILL.


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