Share via


CD2DGeometry クラス

ID2D1Geometry のラッパー。

構文

class CD2DGeometry : public CD2DResource;

メンバー

パブリック コンストラクター

名前 説明
CD2DGeometry::CD2DGeometry CD2DGeometry オブジェクトを構築します。
CD2DGeometry::~CD2DGeometry デストラクター。 D2D ジオメトリ オブジェクトが破棄されるときに呼び出されます。

パブリック メソッド

名前 説明
CD2DGeometry::Attach オブジェクトに既存のリソース インターフェイスをアタッチします
CD2DGeometry::CombineWithGeometry このジオメトリを指定したジオメトリと結合し、結果を ID2D1SimplifiedGeometrySink に格納します。
CD2DGeometry::CompareWithGeometry このジオメトリと指定したジオメトリの交差部分について説明します。 比較は、指定されたフラット化許容値を使用して実行されます。
CD2DGeometry::ComputeArea 指定したマトリックスによって変換され、指定された許容値を使用してフラット化された後、ジオメトリの面積を計算します。
CD2DGeometry::ComputeLength ジオメトリの長さを、各セグメントが線に展開されたかのように計算します。
CD2DGeometry::ComputePointAtLength 指定した行列によって変換され、指定した許容値を使用してフラット化された後、ジオメトリに沿った指定した距離の点と接線ベクトルを計算します。
CD2DGeometry::D estroy CD2DGeometry オブジェクトを破棄します。 (オーバーライド CD2DResource::D estroy.)
CD2DGeometry::D etach オブジェクトからリソース インターフェイスをデタッチします
CD2DGeometry::FillContainsPoint ジオメトリによって塗りつぶされた領域に、指定した平坦化許容値を指定したポイントが含まれるかどうかを示します。
CD2DGeometry::Get ID2D1Geometry インターフェイスを返します
CD2DGeometry::GetBounds
CD2DGeometry::GetWidenedBounds 指定したストロークの幅とスタイルで拡大され、指定されたマトリックスによって変換された後のジオメトリの境界を取得します。
CD2DGeometry::IsValid リソースの有効性を確認します (CD2DResource::IsValid をオーバーライドします)。
CD2DGeometry::Outline ジオメトリのアウトラインを計算し、結果を ID2D1SimplifiedGeometrySink に書き込みます。
CD2DGeometry::Simplify 直線のみを含むジオメトリの簡略化されたバージョンを作成し、(必要に応じて) 3 次ベジエ曲線を含み、結果を ID2D1SimplifiedGeometrySink に書き込みます。
CD2DGeometry::StrokeContainsPoint 指定したストロークの太さ、スタイル、および変換を指定して、ジオメトリのストロークに指定したポイントが含まれているかどうかを判断します。
CD2DGeometry::Tessellate 指定したマトリックスを使用して変換し、指定した許容値を使用してフラット化した後、ジオメトリをカバーする時計回りの巻き付き三角形のセットを作成します。
CD2DGeometry::Widen 指定したストロークでジオメトリを拡大し、指定した行列で変換され、指定した許容値を使用してフラット化された後、結果を ID2D1SimplifiedGeometrySink に書き込みます。

パブリック演算子

名前 説明
CD2DGeometry::operator ID2D1Geometry* ID2D1Geometry インターフェイスを返します

プロテクト データ メンバー

名前 説明
CD2DGeometry::m_pGeometry ID2D1Geometry へのポインター。

継承階層

CObject

CD2DResource

CD2DGeometry

要件

ヘッダー: afxrendertarget.h

CD2DGeometry::~CD2DGeometry

デストラクター。 D2D ジオメトリ オブジェクトが破棄されるときに呼び出されます。

virtual ~CD2DGeometry();

CD2DGeometry::Attach

オブジェクトに既存のリソース インターフェイスをアタッチします

void Attach(ID2D1Geometry* pResource);

パラメーター

pResource
既存のリソース インターフェイス。 NULL にすることはできません

CD2DGeometry::CD2DGeometry

CD2DGeometry オブジェクトを構築します。

CD2DGeometry(
    CRenderTarget* pParentTarget,
    BOOL bAutoDestroy = TRUE);

パラメーター

pParentTarget
レンダー ターゲットへのポインター。

bAutoDestroy
オブジェクトが所有者 (pParentTarget) によって破棄されることを示します。

CD2DGeometry::CombineWithGeometry

このジオメトリを指定したジオメトリと結合し、結果を ID2D1SimplifiedGeometrySink に格納します。

BOOL CombineWithGeometry(
    CD2DGeometry& inputGeometry,
    D2D1_COMBINE_MODE combineMode,
    const D2D1_MATRIX_3X2_F& inputGeometryTransform,
    ID2D1SimplifiedGeometrySink* geometrySink,
    FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;

パラメーター

inputGeometry
このインスタンスと結合するジオメトリ。

combineMode
実行する結合操作の種類。

inputGeometryTransform
結合する前に inputGeometry に適用する変換。

geometrySink
結合操作の結果。

flatteningTolerance
ジオメトリの多角形近似内のポイント間の距離の最大境界。 値を小さくすると、より正確な結果が得られますが、実行が遅くなります。

戻り値

メソッドが成功すると、TRUE が返されます。 それ以外の場合、FALSE を返します。

CD2DGeometry::CompareWithGeometry

このジオメトリと指定したジオメトリの交差部分について説明します。 比較は、指定されたフラット化許容値を使用して実行されます。

D2D1_GEOMETRY_RELATION CompareWithGeometry(
    CD2DGeometry& inputGeometry,
    const D2D1_MATRIX_3X2_F& inputGeometryTransform,
    FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;

パラメーター

inputGeometry
テストするジオメトリ。

inputGeometryTransform
inputGeometry に適用する変換。

flatteningTolerance
ジオメトリの多角形近似内のポイント間の距離の最大境界。 値を小さくすると、より正確な結果が得られますが、実行が遅くなります。

戻り値

メソッドが成功すると、TRUE が返されます。 それ以外の場合、FALSE を返します。

CD2DGeometry::ComputeArea

指定したマトリックスによって変換され、指定された許容値を使用してフラット化された後、ジオメトリの面積を計算します。

BOOL ComputeArea(
    const D2D1_MATRIX_3X2_F& worldTransform,
    FLOAT& area,
    FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;

パラメーター

worldTransform
領域を計算する前に、このジオメトリに適用する変換。

領域
このメソッドから制御が戻るときに、このジオメトリの変換されたフラット化されたバージョンの領域へのポインターが格納されます。 このパラメーターにはストレージを割り当てる必要があります。

flatteningTolerance
ジオメトリの多角形近似内のポイント間の距離の最大境界。 値を小さくすると、より正確な結果が得られますが、実行が遅くなります。

戻り値

メソッドが成功すると、TRUE が返されます。 それ以外の場合、FALSE を返します。

CD2DGeometry::ComputeLength

ジオメトリの長さを、各セグメントが線に展開されたかのように計算します。

BOOL ComputeLength(
    const D2D1_MATRIX_3X2_F& worldTransform,
    FLOAT& length,
    FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;

パラメーター

worldTransform
長さを計算する前にジオメトリに適用する変換。

length
このメソッドが戻るときに、ジオメトリの長さを指すポインターを格納します。 閉じたジオメトリの場合、長さは暗黙的な終了セグメントを含みます。 このパラメーターにはストレージを割り当てる必要があります。

flatteningTolerance
ジオメトリの多角形近似内のポイント間の距離の最大境界。 値を小さくすると、より正確な結果が得られますが、実行が遅くなります。

戻り値

メソッドが成功すると、TRUE が返されます。 それ以外の場合、FALSE を返します。

CD2DGeometry::ComputePointAtLength

指定した行列によって変換され、指定した許容値を使用してフラット化された後、ジオメトリに沿った指定した距離の点と接線ベクトルを計算します。

BOOL ComputePointAtLength(
    FLOAT length,
    const D2D1_MATRIX_3X2_F& worldTransform,
    CD2DPointF& point,
    CD2DPointF& unitTangentVector,
    FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;

パラメーター

length
ポイントのジオメトリに沿った距離と、検索する接線。 この距離が 0 未満の場合、このメソッドはジオメトリの最初の点を計算します。 この距離がジオメトリの長さを超える場合、このメソッドはジオメトリの最後の点を計算します。

worldTransform
指定した点と接線を計算する前にジオメトリに適用する変換。

point
ジオメトリに沿った指定した距離の位置。 ジオメトリが空の場合、このポイントには、その x 値と y 値として NaN が含まれます。

unitTangentVector
このメソッドが戻るときに、ジオメトリに沿って指定された距離にある接線ベクトルへのポインターを格納します。 ジオメトリが空の場合、このベクトルには、x 値と y 値として NaN が含まれます。 このパラメーターにはストレージを割り当てる必要があります。

flatteningTolerance
ジオメトリの多角形近似内のポイント間の距離の最大境界。 値を小さくすると、より正確な結果が得られますが、実行が遅くなります。

戻り値

メソッドが成功すると、TRUE が返されます。 それ以外の場合、FALSE を返します。

CD2DGeometry::D estroy

CD2DGeometry オブジェクトを破棄します。

virtual void Destroy();

CD2DGeometry::D etach

オブジェクトからリソース インターフェイスをデタッチします

ID2D1Geometry* Detach();

戻り値

デタッチされたリソース インターフェイスへのポインター。

CD2DGeometry::FillContainsPoint

ジオメトリによって塗りつぶされた領域に、指定した平坦化許容値を指定したポイントが含まれるかどうかを示します。

BOOL FillContainsPoint(
    CD2DPointF point,
    const D2D1_MATRIX_3X2_F& worldTransform,
    BOOL* contains,
    FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;

パラメーター

point
テストするポイント。

worldTransform
コンテインメントをテストする前にジオメトリに適用する変換。

contains
このメソッドが返されるときに、ジオメトリによって塗りつぶされた領域にポイントが含まれている場合は TRUE であるブール値が格納されます。それ以外の場合は FAL Standard Edition。 このパラメーターにはストレージを割り当てる必要があります。

flatteningTolerance
正確なジオメトリ パスとパスの交差が計算される数値の精度。 許容範囲より小さいほど塗りつぶしが欠落している点は、引き続き内部と見なされます。 値を小さくすると、より正確な結果が得られますが、実行が遅くなります。

戻り値

メソッドが成功すると、TRUE が返されます。 それ以外の場合、FALSE を返します。

CD2DGeometry::Get

ID2D1Geometry インターフェイスを返します

ID2D1Geometry* Get();

戻り値

ID2D1Geometry インターフェイスへのポインター。オブジェクトがまだ初期化されていない場合は NULL。

CD2DGeometry::GetBounds

BOOL GetBounds(
const D2D1_MATRIX_3X2_F& worldTransform,
CD2DRectF& bounds) const;

パラメーター

worldTransform
境界

戻り値

CD2DGeometry::GetWidenedBounds

指定したストロークの幅とスタイルで拡大され、指定されたマトリックスによって変換された後のジオメトリの境界を取得します。

BOOL GetWidenedBounds(
    FLOAT strokeWidth,
    ID2D1StrokeStyle* strokeStyle,
    const D2D1_MATRIX_3X2_F& worldTransform,
    CD2DRectF& bounds,
    FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;

パラメーター

strokeWidth
輪郭をなでることでジオメトリを拡大する量。

strokeStyle
ジオメトリを拡大するストロークのスタイル。

worldTransform
ジオメトリが変換された後、およびジオメトリがストロークされた後にジオメトリに適用される変換。

境界
このメソッドが戻るときに、拡大されたジオメトリの境界を格納します。 このパラメーターにはストレージを割り当てる必要があります。

flatteningTolerance
ジオメトリの多角形近似内のポイント間の距離の最大境界。 値を小さくすると、より正確な結果が得られますが、実行が遅くなります。

戻り値

メソッドが成功すると、TRUE が返されます。 それ以外の場合、FALSE を返します。

CD2DGeometry::IsValid

リソースの有効性を確認します

virtual BOOL IsValid() const;

戻り値

リソースが有効な場合は TRUE。それ以外の場合は FAL Standard Edition。

CD2DGeometry::m_pGeometry

ID2D1Geometry へのポインター。

ID2D1Geometry* m_pGeometry;

CD2DGeometry::operator ID2D1Geometry*

ID2D1Geometry インターフェイスを返します

operator ID2D1Geometry*();

戻り値

ID2D1Geometry インターフェイスへのポインター。オブジェクトがまだ初期化されていない場合は NULL。

CD2DGeometry::Outline

ジオメトリのアウトラインを計算し、結果を ID2D1SimplifiedGeometrySink に書き込みます。

BOOL Outline(
    const D2D1_MATRIX_3X2_F& worldTransform,
    ID2D1SimplifiedGeometrySink* geometrySink,
    FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;

パラメーター

worldTransform
ジオメトリ アウトラインに適用する変換。

geometrySink
ジオメトリ変換されたアウトラインが追加される ID2D1SimplifiedGeometrySink。

flatteningTolerance
ジオメトリの多角形近似内のポイント間の距離の最大境界。 値を小さくすると、より正確な結果が得られますが、実行が遅くなります。

戻り値

メソッドが成功すると、TRUE が返されます。 それ以外の場合、FALSE を返します。

CD2DGeometry::Simplify

直線のみを含むジオメトリの簡略化されたバージョンを作成し、(必要に応じて) 3 次ベジエ曲線を含み、結果を ID2D1SimplifiedGeometrySink に書き込みます。

BOOL Simplify(
    D2D1_GEOMETRY_SIMPLIFICATION_OPTION simplificationOption,
    const D2D1_MATRIX_3X2_F& worldTransform,
    ID2D1SimplifiedGeometrySink* geometrySink,
    FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;

パラメーター

simplificationOption
簡略化されたジオメトリに曲線を含めるかどうかを指定する値。

worldTransform
簡略化されたジオメトリに適用する変換。

geometrySink
簡略化されたジオメトリが追加される ID2D1SimplifiedGeometrySink。

flatteningTolerance
ジオメトリの多角形近似内のポイント間の距離の最大境界。 値を小さくすると、より正確な結果が得られますが、実行が遅くなります。

戻り値

メソッドが成功すると、TRUE が返されます。 それ以外の場合、FALSE を返します。

CD2DGeometry::StrokeContainsPoint

指定したストロークの太さ、スタイル、および変換を指定して、ジオメトリのストロークに指定したポイントが含まれているかどうかを判断します。

BOOL StrokeContainsPoint(
    CD2DPointF point,
    FLOAT strokeWidth,
    ID2D1StrokeStyle* strokeStyle,
    const D2D1_MATRIX_3X2_F& worldTransform,
    BOOL* contains,
    FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;

パラメーター

point
包含をテストするポイント。

strokeWidth
適用するストロークの太さ。

strokeStyle
適用するストロークのスタイル。

worldTransform
ストロークされたジオメトリに適用する変換。

contains
このメソッドが戻るときに、ジオメトリのストロークに指定した点が含まれている場合は TRUE に設定されたブール値が含まれます。それ以外の場合は FAL Standard Edition。 このパラメーターにはストレージを割り当てる必要があります。

flatteningTolerance
正確なジオメトリ パスとパスの交差が計算される数値の精度。 許容範囲より小さいストロークが欠落している点は、引き続き内側と見なされます。 値を小さくすると、より正確な結果が得られますが、実行が遅くなります。

戻り値

メソッドが成功すると、TRUE が返されます。 それ以外の場合、FALSE を返します。

CD2DGeometry::Tessellate

指定したマトリックスを使用して変換し、指定した許容値を使用してフラット化した後、ジオメトリをカバーする時計回りの巻き付き三角形のセットを作成します。

BOOL Tessellate(
    const D2D1_MATRIX_3X2_F& worldTransform,
    ID2D1TessellationSink* tessellationSink,
    FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;

パラメーター

worldTransform
このジオメトリに適用する変換(NULL)。

tessellationSink
テッセレーションが追加される ID2D1TessellationSink。

flatteningTolerance
ジオメトリの多角形近似内のポイント間の距離の最大境界。 値を小さくすると、より正確な結果が得られますが、実行が遅くなります。

戻り値

メソッドが成功すると、TRUE が返されます。 それ以外の場合、FALSE を返します。

CD2DGeometry::Widen

指定したストロークでジオメトリを拡大し、指定した行列で変換され、指定した許容値を使用してフラット化された後、結果を ID2D1SimplifiedGeometrySink に書き込みます。

BOOL Widen(
    FLOAT strokeWidth,
    ID2D1StrokeStyle* strokeStyle,
    const D2D1_MATRIX_3X2_F& worldTransform,
    ID2D1SimplifiedGeometrySink* geometrySink,
    FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;

パラメーター

strokeWidth
ジオメトリを拡大する量。

strokeStyle
ジオメトリに適用するストロークのスタイル(NULL)。

worldTransform
拡大後にジオメトリに適用する変換。

geometrySink
拡大されたジオメトリが追加される ID2D1SimplifiedGeometrySink。

flatteningTolerance
ジオメトリの多角形近似内のポイント間の距離の最大境界。 値を小さくすると、より正確な結果が得られますが、実行が遅くなります。

戻り値

メソッドが成功すると、TRUE が返されます。 それ以外の場合、FALSE を返します。

関連項目

クラス