C3D Toolkit  Kernel - 105122, Vision - 0.181114.105122
Файл gcm_api.h

Программный интерфейс 3D решателя геометрических ограничений. Подробнее...

Функции

GCM_system GCM_CreateSystem ()
 Создать пустую систему ограничений.
Подробнее...
 
void GCM_ClearSystem (GCM_system gSys)
 Сделать систему ограничений пустой. Подробнее...
 
void GCM_RemoveSystem (GCM_system gSys)
 Удалить систему ограничений.
Подробнее...
 
bool GCM_ReadSystem (GCM_system gSys, reader &in)
 Читать систему ограничений из потока Подробнее...
 
bool GCM_WriteSystem (GCM_system gSys, writer &out)
 Запись системы ограничений в поток Подробнее...
 
GCM_g_record GCM_NullGeom ()
 Выдать запись пустого геометрического объекта.
 
GCM_g_record GCM_Point (const MbCartPoint3D &)
 Выдать запись точки из типа MbCartPoint3D в типе GCM_g_record.
 
GCM_g_record GCM_Line (const MbCartPoint3D &org, const MbVector3D &axisZ)
 Запись прямой, заданной её точкой и направляющим вектором.
 
GCM_g_record GCM_Plane (const MbCartPoint3D &org, const MbVector3D &axisZ)
 Запись плоскости, заданной точкой и нормалью.
 
GCM_g_record GCM_Cone (const MbCartPoint3D &centre, const MbVector3D &axis, double radiusA, double radiusB)
 Получить запись конуса по заданному набору параметров. Подробнее...
 
GCM_g_record GCM_Cylinder (const MbCartPoint3D &centre, const MbVector3D &axis, double radius)
 Получить запись цилиндра по заданному набору параметров. Подробнее...
 
GCM_g_record GCM_Circle (const MbCartPoint3D &centre, const MbVector3D &axis, double radius)
 Получить запись окружности, заданной набором параметров. Подробнее...
 
GCM_g_record GCM_Torus (const MbCartPoint3D &centre, const MbVector3D &axis, double majorR, double minorR)
 Получить запись тороида по заданному набору параметров. Подробнее...
 
GCM_g_record GCM_Sphere (const MbCartPoint3D &centre, double radius)
 Получить запись данных о сфере, заданной центром и радиусом. Подробнее...
 
GCM_g_record GCM_SolidLCS (const MbCartPoint3D &org, const MbVector3D &axisZ=MbVector3D::zAxis, const MbVector3D &axisX=MbVector3D::xAxis)
 Получить запись данных твердого тела, заданной началом координат и осями Z, X. Подробнее...
 
GCM_g_record GCM_SolidLCS (const MbPlacement3D &)
 Получить запись данных системы координат твердого тела. Подробнее...
 
GCM_geom GCM_AddPoint (GCM_system gSys, const MbCartPoint3D &pVal)
 Добавить в систему ограничений точку. Подробнее...
 
GCM_geom GCM_AddGeom (GCM_system gSys, const GCM_g_record &gRec)
 Добавить в систему ограничений геометрический объект. Подробнее...
 
GCM_geom GCM_AddGeom (GCM_system gSys, GCM_g_type gType, const MbMatrix3D &gMat, double radiusA, double radiusB)
 Добавить в систему ограничений геометрический объект. Подробнее...
 
GCM_geom GCM_SubGeom (GCM_system gSys, GCM_geom sol, const GCM_g_record &gRec)
 Добавить в подсистему твердого тела (кластера) подчиненный геометрический объект. Подробнее...
 
GCM_geom GCM_Parent (GCM_system gSys, GCM_geom subGeom)
 Выдать кластер (тело), в который включен данный геометрический объект. Подробнее...
 
GCM_g_type GCM_GeomType (GCM_system gSys, GCM_geom g)
 Тип геометрического объекта. Подробнее...
 
void GCM_RemoveGeom (GCM_system gSys, GCM_geom g)
 Удалить геометрический объект из системы ограничений. Подробнее...
 
GCM_constraint GCM_AddBinConstraint (GCM_system gSys, GCM_c_type cType, GCM_geom g1, GCM_geom g2, GCM_alignment aVal=GCM_CLOSEST, GCM_tan_choice tVar=GCM_TAN_POINT)
 Вернет true, если объект все еще действительный. Подробнее...
 
GCM_constraint GCM_AddDistance (GCM_system gSys, GCM_geom g1, GCM_geom g2, double dVal, GCM_alignment aVal=GCM_CLOSEST)
 Задать ограничение, устанавливающее расстояние между парой геометрических объектов. Подробнее...
 
GCM_constraint GCM_AddAngle (GCM_system gSys, GCM_geom g1, GCM_geom g2, GCM_geom axis, double dVal)
 Задать ограничение, устанавливающее угол между двумя геометрическими объектами. Подробнее...
 
GCM_constraint GCM_FixRadius (GCM_system gSys, GCM_geom g1)
 Задать ограничение, устанавливающее радиус геометрического объекта. Подробнее...
 
GCM_constraint GCM_AddPlanarAngle (GCM_system gSys, GCM_geom g1, GCM_geom g2, GCM_geom axis, double dVal)
 Задать управляющий планарный угол между двумя геометрическими объектами. Подробнее...
 
GCM_pattern GCM_AddLinearPattern (GCM_system gSys, GCM_geom g1, GCM_geom g2, GCM_alignment align=GCM_NO_ALIGNMENT)
 Задать линейный паттерн. Подробнее...
 
GCM_pattern GCM_AddAngularPattern (GCM_system gSys, GCM_geom g1, GCM_geom g2, GCM_alignment align=GCM_NO_ALIGNMENT)
 Задать угловой паттерн. Подробнее...
 
GCM_constraint GCM_AddGeomToPattern (GCM_system gSys, GCM_pattern ptrn, GCM_geom geom, double position, GCM_alignment align=GCM_NO_ALIGNMENT, GCM_scale scale=GCM_RIGID)
 Добавить геометрический объект в паттерн. Подробнее...
 
GCM_constraint GCM_AddConstraint (GCM_system gSys, const GCM_c_record &cRec)
 Задать ограничение. Подробнее...
 
void GCM_RemoveConstraint (GCM_system gSys, GCM_constraint con)
 Удалить ограничение из системы. Подробнее...
 
void GCM_FixGeom (GCM_system gSys, GCM_geom g)
 Сделать геометрический объект неподвижным. Подробнее...
 
void GCM_FreeGeom (GCM_system gSys, GCM_geom g)
 Освободить объект, зафиксированный методом GCM_FixGeom. Подробнее...
 
bool GCM_IsFixed (GCM_system gSys, GCM_geom g)
 Вернет true, если геометрический объект был зафиксирован методом GCM_FixGeom. Подробнее...
 
GCM_result GCM_Evaluate (GCM_system gSys)
 Вычислить систему ограничений. Подробнее...
 
GCM_result GCM_EvaluationResult (GCM_system gSys, GCM_constraint cItem)
 Получить код результата вычисления ограничения. Подробнее...
 
bool GCM_IsSatisfied (GCM_system gSys, GCM_constraint cItem)
 Выполнить проверку удовлетворенности ограничения. Подробнее...
 
MbPlacement3D GCM_Placement (GCM_system gSys, GCM_geom g)
 Выдать текущее положение (решение) геометрического объекта.
 
double GCM_Radius (GCM_system gSys, GCM_geom g)
 Текущее значение радиуса геометрического объекта.
 
double GCM_RadiusA (GCM_system gSys, GCM_geom g)
 Текущее значение "большого" радиуса тора или конуса.
 
double GCM_RadiusB (GCM_system gSys, GCM_geom g)
 Текущее значение "малого" радиуса тора или конуса.
 
GCM_result GCM_ChangeDrivingDimension (GCM_system gSys, GCM_constraint dItem, double dVal)
 Изменить значение управляющего размера. Подробнее...
 
void GCM_SetPlacement (GCM_system gSys, GCM_geom g, const MbPlacement3D &place)
 Задать текущее положение геометрического объекта. Эта функция только придает объекту новое состояние без переоценки системы ограничений. Вызов GCM_Evaluate может поменять заданное состояние, если имеются не удовлетворенные ограничения.
 
GCM_result GCM_PrepareReposition (GCM_system gSys, GCM_geom movGeom, const MbPlacement3D &projPlane, const MbCartPoint3D &curPnt)
 Инициализировать режим перетаскивания объектов в плоскости экрана. Система ограничений. Подробнее...
 
GCM_result GCM_PrepareReposition (GCM_system gSys, GCM_geom rotGeom, const MbCartPoint3D &org, const MbVector3D &axis)
 Инициализировать режим вращения компонента вокруг фиксированной оси.
 
void GCM_FinishReposition (GCM_system gSys)
 Завершить режим "перетаскивания".
 
GCM_geom GCM_GetMovingGeom (GCM_system gSys)
 Выдать объект манипуляции, с которым работает решатель, находясь в режиме вращения/перемещения объектом (драггинг).
 
GCM_result GCM_SolveReposition (GCM_system gSys, GCM_geom g, const MbPlacement3D &newPos, MtRepositionMode movType)
 Решить систему для произвольного изменения положения одного тела. Подробнее...
 
GCM_result GCM_SolveReposition (GCM_system gSys, const MbCartPoint3D &curXYZ)
 Решить систему сопряжений для новой позиции курсора в режиме драггинга. Система ограничений. Подробнее...
 
GCM_result GCM_SolveReposition (GCM_system gSys, double alpha)
 Решить систему с изменением положения компонента через одну координату. Подробнее...
 
bool GCM_SetJournal (GCM_system gSys, const char *fName)
 Включить журналирование и назначить файл для записи журнала вызовов API. Подробнее...
 

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

Программный интерфейс 3D решателя геометрических ограничений.