Типовой Код для dwgOutFields ()
Большинство запросов регистратора - writeItem (), функция элемента, которая была перезагружена для всех поддержанных типов данных. Имеются также другие функции, типа writeInt32 () используемый в следующем примере, который может использоваться, чтобы поддержать автоматическое приведение типа. Такие функции вынуждают параметр быть обработанными как указанный тип независимо от его фактического типа в памяти.
ОБРАТИТЕ ВНИМАНИЕ, имеет ли ваш класс целочисленные компоненты данных, Вы должны использовать чтение и функции записи, которые явно заявляют целочисленный размер (например, writeInt32).
Следующее - типовой код от AsdkPoly:: dwgOutFields ():
Acad::ErrorStatus
AsdkPoly::dwgOutFields(AcDbDwgFiler* filer) const
{
assertReadEnabled();
Acad::ErrorStatus es;
if ((es = AcDbCurve::dwgOutFields(filer)) != Acad::eOk)
{
return es;
}
// Object Version - must always be the first item.
//
Adesk::Int16 version = VERSION;
filer->writeItem(version);
filer->writePoint2d(mCenter);
filer->writePoint2d(mStartPoint);
filer->writeInt32(mNumSides);
filer->writeVector3d(mPlaneNormal);
filer->writeString(mpName);
// mTextStyle is a hard pointer id, so filing it out to
// the purge filer (kPurgeFiler) prevents purging of
// this object.
//
filer->writeHardPointerId(mTextStyle);
filer->writeDouble(mElevation);
return filer->filerStatus();
}