Acad::ErrorStatus AkPret99::subTransformBy(const AcGeMatrix3d& xform)
{
if (mDragDataFlags & kCloneMeForDraggingCalled) {
mDragDataFlags |= kUseDragCache;
mDragPlaneNormal = mPlaneNormal;
mDragElevation = mElevation;
AcGeMatrix2d xform2d(xform.convertToLocal(mDragPlaneNormal,mDragElevation));
mDragCenter = mCenter;
mDragCenter.transformBy(xform2d);
mDragPlaneNormal.normalize();
} else {
assertWriteEnabled();
AcGeMatrix2d xform2d(xform.convertToLocal(mPlaneNormal,mElevation));
mCenter.transformBy(xform2d);
for(int i=0;i<mVertex.length();i++) mVertex.at(i)=mVertex.at(i).transformBy(xform2d);
mPlaneNormal.normalize();
}
return Acad::eOk;
}