ObjectARX, AutoCAD. Среда программирования библиотеки C++



         

Классы cпециальной оценки - часть 3


AcGePoint3d pnt3d = pntOnSrf.point();

AcGeVector3d uFirstPartial = pntOnSrf.uDeriv(1), vFirstPartial = pntOnSrf.vDeriv(1);

Практически, Вы редко, если когда-либо, вызываете setSurface () или setParameter () непосредственно.

Вместо этого Вы вызываете эти функции косвенно через функции элемента AcGePointOnSurface класса. Например, point() функция, которая возвращает точку пространства модели в специфическом значении параметра, имеет три различных сигнатуры:

AcGePoint3d point () const;

AcGePoint3d point (const AcGePoint2d& param);

AcGePoint3d point (

const AcGeSurface& srf,

const AcGePoint2d& param);

Первая сигнатура не берет никакие параметры и предполагает, что поверхность и значение параметра уже были установлены предыдущим, вызывает к setSurface () и setParameter (). Вторая сигнатура предполагает, что поверхность уже была установлена предыдущим запросом к setSurface (), но это вызывает setParameter (param), чтобы установить значение параметра перед оценкой. Третья сигнатура вызывает setSurface (srf) и setParameter (param), чтобы установить поверхность и значение параметра перед оценкой. Только функция левой части объявлена как константа; другой два изменяют объект,  устанавливая поверхность и-или значение параметра. Прямой вызов к setSurface () и setParameter () может теперь быть удален из предыдущего кода следующим образом:

AcGePoint3d pnt3d = pntOnSrf.point ( srf, param );

AcGeVector3d uFirstPartial = pntOnSrf.uDeriv(1),

vFirstPartial = pntOnSrf.vDeriv(1);

Первые операторные причины setSurface (srf) и setParameter (param), чтобы быть вызван перед оценкой выполнены. Последующие оценки выполнены на той же самой поверхности и в том же самом значении параметра, пока setSurface () или setParameter () не вызван снова, или непосредственно или косвенно.

Поэтому, вторая инструкция не должна повторно определить или srf

или param параметры. Все функции оценки AcGePointOnSurface класса следуют за тем же самым образцом наличия трех различных сигнатур:




Содержание  Назад  Вперед