C3D Kernel  102057
Классы | Определения типов | Перечисления | Функции
Объектный интерфейс
Геометрические ограничения трёхмерных объектов
Граф связей класса Объектный интерфейс:

Классы

struct  ItGCBlackbox
 Чёрный ящик. Подробнее...
struct  GCM_geom_axis
 Ось планарного угла. Подробнее...
struct  GCM_c_params
 Структура параметров ограничения. Подробнее...
struct  ItConstraintItem
 Геометрического ограничение. Подробнее...
struct  ItMateTransmission
 Интерфейс "Механическая передача для двух тел". Подробнее...
struct  ItCamMechanism
 Интерфейс "Кулачковый механизм". Подробнее...
struct  ItGeom
 Геометрический объект. Подробнее...
class  MtGeomVariant
 Геометрический объект, аргумент геометрического ограничения. Подробнее...
class  MtMatingGeometry
 Структура данных сопрягаемой геометрии. Подробнее...
struct  GCM_undefined< T >
 Неопределенное значение для некоторого типа. Подробнее...
class  MtParVariant
 Числовой или перечислительный параметр ограничения. Подробнее...
class  MtArgument
 Геометрический аргумент ограничения. Подробнее...
class  MtGeomSolver
 Геометрический решатель. Подробнее...
struct  ItPositionManager
 Абстракция для управления положением геометрических объектов в сборке. Подробнее...

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

typedef GCM_geom MtGeomId
typedef GCM_constraint MtConstraintId
typedef GCM_geom MtPatternId
typedef GCM_g_type MtGeomType
typedef GCM_c_type MtMateType

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

enum  MtStateOfFreedom { sof_Zero = 0, sof_WellConstrained = sof_Zero, sof_UnderConstrained = 1, sof_Unknown = 2 }
 Состояние свободы тела Подробнее...
enum  MtRepositionMode {
  rep_FreeRotation, rep_FreeMoving, rep_MovingToPoint, rep_RotationAboutAxis,
  rep_TransferOneGeomOnly
}
 Вариант поведения для манипулирования недоопределенной системой сопряжений Подробнее...

Функции

int AlignmentSign (GCM_alignment aVal)
 Выдать трехзначную величину ориентации {-1,0,+1}.
bool Orient (GCM_alignment aVal)
 Выдать двузначную величину ориентации
bool TangVariant (GCM_alignment aVal)
 Выдать двузначную величину варианта касания
bool TangSubVariant (GCM_alignment aVal)
 Выдать двузначную величину подварианта касания.
GCM_alignment AlignOption (bool axisOrient, bool tangOrient, bool tangSubvariant=false)
 Выдать код условия выравнивания по трем двухзначным флагам ориентации, варианта и подварианта касания
void NextSolution (GCM_alignment &)
 Выдать следующий вариант выравнивания.
void PrevSolution (GCM_alignment &)
 Выдать предыдущий вариант выравнивания.
GCM_system GCM_CreateSystem (ItPositionManager *)
 Создать пустую систему ограничений.
MtGeomVariant ItConstraintItem::GeomArgument (int geomN) const
int ItConstraintItem::Arity () const
 Количество геометрических объектов, участвующих в ограничении.
void ItConstraintItem::GetParams (GCM_c_params &) const
ItGeomPtr ItConstraintItem::DependentGeom () const
 Зависимый объект ограничения с типом GCM_DEPENDENT, он всегда первый.
template<typename _EnumType >
_EnumType MtParVariant::AsEnum () const
template<typename _EnumType >
bool MtParVariant::GetEnum (_EnumType &) const
bool MtParVariant::operator== (const MtParVariant &) const
GCM_alignment MtParVariant::AlignType () const
GCM_c_arg MtParVariant::CArg () const
 Выдать как аргумент ограничения.
bool MtArgument::operator== (const ItGeom *) const
 Оператор равенства.

Функции для интерактивной манипуляции системой сопряжений

MtResultCode3D MtGeomSolver::PrepareReposition (ItGeom &rotGeom, const MbCartPoint3D &org, const MbVector3D &axis)
 Инициализировать режим вращения компонента вокруг фиксированной оси.

Функции поверхности вращения

MbAxis3D MbRevolutionSurface::GetAxis () const
 Ось вращения.

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

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

Полно-заданное или фиксированное тело (нулевая степень свободы).

sof_WellConstrained 

Полно-заданное или фиксированное тело (нулевая степень свободы).

sof_UnderConstrained 

Недоопределенное тело, т.е. имеющее степень свободы.

sof_Unknown 

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

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

Произвольная репозиция с преимущественным вращением.

rep_FreeMoving 

Произвольная репозиция с преимущественным перемещением.

rep_MovingToPoint 

Перенос в плоскости экрана, таская курсором за точку.

rep_RotationAboutAxis 

Вращение вокруг неподвижной оси.

Перенос только для одного твердого тела. Этот режим был задуман для процессов вставки нового тела в сборку САПР.


Функции

GCM_system GCM_CreateSystem ( ItPositionManager )

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

Возвращает:
Дескриптор системы ограничений.
ItMateTransmission::GetAxis ( ) const

Ось задается в ЛСК тела, возвращаемого в функции ItGeom * ItMateTransmission::GetDirectionGeom( short nb ) const

MtGeomSolver::PrepareReposition ( ItGeom g_item,
const MbCartPoint3D org,
const MbVector3D axis 
)
Аргументы:
g_item- Компонент, деталь, на которое направлено воздействие;
org,axis- Точка и вектор в ГСК, которые задают постоянную ось вращения;
Возвращает:
Код ошибки, перечисленный enum #MtResultCode3D
Функция запускается однократно перед входом в режим вращения, который управляется через команду int SolveReposition( double alpha ), где alpha - входной параметр, определяющий положение компонента, и заданный в радианах. Режим прекращается вызовом любой иной команды, кроме этих двух. Также есть специальная функция для выхода из этого режима - void FinishReposition().
 Указатель Классы Пространства имен Файлы Функции Переменные Определения типов Перечисления Элементы перечислений Друзья Макросы