OdPrcMarkupLinkedItemは何に使用されますか?
OdPrcMarkupLinkedItemはOdPrcReferenceに似ています。OdPrcReferenceと同様に、エンティティの位置、外観、線種を上書きするために使用できます。しかし、OdPrcReferenceとは異なり、OdPrcMarkupLinkedItemはビューを切り替えたときにのみこれらの変更を適用します。したがって、すべてのOdPrcViewには、現在のビュー内のエンティティのレンダリングを変更できる独自のOdPrcMarkupLinkedItemアイテムのセットがあります。
OdPrcMarkupLinkedItemの構造
OdPrcMarkupLinkedItemはOdPrcProductOcurrenceに保存されます:
OdPrcMarkups & OdPrcProductOccurrence::markups();
const OdPrcMarkups & OdPrcProductOccurrence::markups() const;
OdPrcObjectIdArray & OdPrcMarkups::linkedItem();
const OdPrcObjectIdArray & OdPrcMarkups::linkedItem() const;
OdPrcViewはこれらのOdPrcMarkupLinkedItemへのリンクを保存します:
OdPrcObjectIdArray & OdPrcView::linkedItems();
const OdPrcObjectIdArray & OdPrcView::linkedItems() const;
OdPrcMarkupLinkedItemには2つのリンクがあります。
最初のリンクは、グラフィックパラメータが上書きされるエンティティへのものです:
OdPrcReferenceData & OdPrcMarkupLinkedItem::referenceData();
const OdPrcReferenceData & OdPrcMarkupLinkedItem::referenceData() const;
2番目のリンクは、このエンティティを含むツリーサブパートへのものです: (*)<>/p
OdPrcReferenceData & OdPrcMarkupLinkedItem::referencedProductOccurrence();
const OdPrcReferenceData & OdPrcMarkupLinkedItem::referencedProductOccurrence() const;
エンティティの新しい座標系は以下から取得されます:
OdPrcObjectId & OdPrcMarkupLinkedItem::localCoordinateSystem();
const OdPrcObjectId & OdPrcMarkupLinkedItem::localCoordinateSystem() const;
エンティティの新しいグラフィックパラメータは以下から取得されます: (**)
OdPrcGraphics & OdPrcMarkupLinkedItem::graphics();
const OdPrcGraphics & OdPrcMarkupLinkedItem::graphics() const;
(*) 現在、2番目のリンクはエンティティのレンダリングに影響を与えません。実装はAdobe®よりもTech Soft 3D HOOPS®に似ています。
(**) OdPrcMarkupLinkedItemの場合、AdobeはPRC_GRAPHICS_Showを除くOdPrcGraphicsのすべての動作ビットを無視するため、子/親の継承やPRC_GRAPHICS_Removedを考慮しません。これが、HOOPSと同様に実装した理由です。OdPrcMarkupLinkedItemはOdPrcGraphicsと同様に機能します。
OdPrcMarkupLinkedItemの影響の例
これはファイルのデフォルトビューです。
次の図は、切り替えるOdPrcViewの構造を示しています。OdPrcView (283) にOdPrcMakrupLinkedItemアイテムのリストが表示されます。また、エンティティOdPrcProductOccurrence (50) をオーバーライドするOdPrcMakrupLinkedItem (24A) も表示されます。したがって、このビューエンティティには以下が含まれます。
- OdPrcCategory1LineStyle (298) をその線種として。
- OdPrcCoordinateSystem (24B) をその位置として。
- (11 == PRC_GRAPHICS_Show | PRC_GRAPHICS_SonHeritShow | PRC_GRAPHICS_SonHeritColor) をそのbehavior_bit_fieldsとして。
これは同じファイルですが、別のビューに切り替わっています。