Dans prc, vous ne pouvez gérer le positionnement de l’OdPrcMarkupTessBufText que par:
Mode d'affichage de visage/Face View Mode, l’OdPrcMarkupTessBufFaceView:
Dans ce mode, toutes les entités de dessin sont parallèles à l'écran (panneau d'affichage). Le point donné dans les doubles correspond à l'origine du nouveau système de coordonnées dans lequel les entrées sont tracées parallèlement à l'écran.
Mode de dessin de cadre/Frame Draw Mode, l’OdPrcMarkupTessBufFrame:
Dans ce mode, toutes les entités de dessin sont données dans un espace à deux dimensions. Le point donné dans les doubles correspond à un point 3D projeté sur l'écran, tout en fournissant l'origine du système de coordonnées à deux dimensions où vous pouvez dessiner (viewport).
Mode Taille fixe/Fixed Size Mode, l’OdPrcMarkupTessBufFixedSize:
Dans ce mode, toutes les entités de dessin sont dessinées à une taille fixe, indépendante du zoom. Le point donné dans les doubles correspond à l'origine du nouveau système de coordonnées où vous pouvez dessiner à taille fixe. (Adobe a des problèmes avec la prise en charge de ce mode).
Mode matriciel/Matrix Mode, l’OdPrcMarkupTessBufMatrix:
Dans ce mode, toutes les entités de dessin sont transformées par la matrice donnée en double post multipliée par la matrice de transformation courante. À la fin du mode, la matrice de transformation précédemment active est restaurée.
Pour appliquer l'un de ces modes à l'objet OdPrcMarkupTessBufText, placez-le dans BufBlock par la fonction setNextInBlock(), par exemple: Code:
OdPrcMarkupTessPtr CreatePlainTextMarkup (OdPrcFileStructure &pCurFS)
{
//...
pCurMkpTess = pCurMkpTess->setNext(OdPrcMarkupTessBufMatrix::createObject());
OdGePoint3d origP(3, 3, 0);
((OdPrcMarkupTessBufMatrixPtr &) pCurMkpTess)->setMatrix(OdGeMatrix3d::translation(origP.asVector()));
OdPrcMarkupTessBufTextPtr pBufText = OdPrcMarkupTessBufText::createObject();
ODA_VERIFY(pBufText->setText(L"Markup with Text type", 20, 4) == eOk);
((OdPrcMarkupTessBufMatrixPtr &) pCurMkpTess)->setNextInBlock(pBufText);
//...
}