ODA BIM SDK を使用すると、ビューを取得し、面とエッジの色、塗りつぶしパターン、線幅、その他のパラメーターの表示を簡単にオーバーライドできます。オーバーライドは、要素、要素のカテゴリ、およびフィルター条件を通過した要素に適用されます。
ビューの選択された表示モードは、オーバーライドに影響します。シェーディングモードでは、マテリアルが設定されていても、オーバーライドは面とエッジに適用されますが、リアルなモードの面では、マテリアルのテクスチャが優先されます。
OdBmDBView クラスには、オーバーライドされたグラフィックスのデータにアクセスするための次のプロパティがあります。
- OdBmAdHocOverridesPtr getAdHocOverrides() const;
- OdBmFilterOverridesPtr getFilterOverrides() const;
- OdBmGraphicOverridesPtr getGraphicOverrides() const;
結果のオブジェクトには、要素、カテゴリ、またはフィルター条件の ID と、オーバーライドされたグラフィックスデータのマップが含まれています。
オーバーライドされたグラフィックスへのアクセスを簡素化するために、OdBmDBView には次の3つのメソッドがあります。
- OdBmOverrideGraphicSettingsPtr getCategoryOverrides(const OdBm::BuiltInCategory::Enum&) const
ビュー内のカテゴリのグラフィックオーバーライドを返します。入力パラメーターは組み込みカテゴリ ID です。 - OdBmOverrideGraphicSettingsPtr getElementOverrides(const OdBmObjectId&) const
ビュー内の要素のグラフィックオーバーライドを返します。入力パラメーターは要素 ID です。 - OdBmOverrideGraphicSettingsPtr getFilterOverrides(const OdBmObjectId&) const;
ビュー内のフィルターのグラフィックオーバーライドを返します。入力パラメーターはフィルター要素 ID です。
これらのメソッドは、渡されたパラメーターに対してグラフィックスオーバーライドがない場合、空のポインターを返します。
OdBmOverrideGraphicSettings クラスには、面とエッジのグラフィックスオーバーライドのデータにアクセスするためのメソッドがあります。
- OdInt32 getDetailLevel() const; // ビューでオーバーライドされた詳細レベルを返します
- bool getHalftone() const; // ハーフトーンオーバーライドの値を返します
- bool getProjFillPatternVisible() const; // 面に対してオーバーライドされた塗りつぶしパターンの可視性を返します
- bool getCutFillPatternVisible() const; // カットサーフェスの塗りつぶしパターンの可視性を返します
次のメソッドは OdBmObjectPtr を返します。これは適切なオブジェクトにキャストする必要があります。
- OdBmObjectPtr getProjPenNumber() const; // OdBmGPenNumberOverriderPtr を返します - 投影サーフェスの線幅
- OdBmObjectPtr getCutPenNumber() const; // OdBmGPenNumberOverriderPtr を返します - 切断サーフェスの線幅
- OdBmObjectPtr getProjLinePattern() const; // OdBmGLinePatternOverriderPtr を返します - 投影サーフェスの線種
- OdBmObjectPtr getCutLinePattern() const; // OdBmGLinePatternOverriderPtr を返します - 切断サーフェスの線種
- OdBmObjectPtr getProjPenColor() const; // OdBmGStyleColorOverriderPtr を返します - 投影サーフェスの線色
- OdBmObjectPtr getCutPenColor() const; // OdBmGStyleColorOverriderPtr を返します - 切断サーフェスの線色
- OdBmObjectPtr getProjFillPattern() const; // OdBmGFillPatternOverriderPtr を返します - サーフェスの塗りつぶしパターン
- OdBmObjectPtr getCutFillPattern() const; // OdBmGFillPatternOverriderPtr を返します - 切断サーフェスの塗りつぶしパターン
- OdBmObjectPtr getProjFillColor() const; // OdBmGFillColorOverriderPtr を返します - 投影サーフェスの塗りつぶし色
- OdBmObjectPtr getCutFillColor() const; // OdBmGFillColorOverriderPtr を返します - 切断サーフェスの塗りつぶし色
- OdBmGSurfacesTransparencyOverriderPtr getSurfacesTransparency() const; // 投影および切断サーフェスの透明度を返します
ビューでのグラフィックオーバーライドの結合
要素のグラフィックオーバーライドが要素、カテゴリ、およびフィルター条件によって設定されている場合、結果のオーバーライドは、要素、カテゴリ、フィルターの優先順位で結合されます。