Teigha PRC: OdPrcMarkupLinkedItemの使用

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の影響の例

これはファイルのデフォルトビューです。

image1

次の図は、切り替える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として。
image2

これは同じファイルですが、別のビューに切り替わっています。

image3

 

今すぐ始める

ODAソフトウェアを60日間無料でお試しください。
リスクなし、クレジットカード不要。

無料で試す