Udostępnij za pośrednictwem


Klasa CD2DGeometry

Otoka id2D1Geometry.

Składnia

class CD2DGeometry : public CD2DResource;

Elementy członkowskie

Konstruktory publiczne

Nazwa/nazwisko opis
CD2DGeometry::CD2DGeometry Tworzy obiekt CD2DGeometry.
CD2DGeometry::~CD2DGeometry Destruktora. Wywoływana, gdy obiekt geometryczny D2D jest niszczony.

Metody publiczne

Nazwa/nazwisko opis
CD2DGeometry::Attach Dołącza istniejący interfejs zasobu do obiektu
CD2DGeometry::CombineWithGeometry Łączy tę geometrię z określoną geometrią i przechowuje wynik w id2D1SimplifiedGeometrySink.
CD2DGeometry::CompareWithGeometry Opisuje przecięcie między tą geometrią a określoną geometrią. Porównanie jest wykonywane przy użyciu określonej tolerancji spłaszczania.
CD2DGeometry::ComputeArea Oblicza obszar geometrii po przekształceniu przez określoną macierz i spłaszczone przy użyciu określonej tolerancji.
CD2DGeometry::ComputeLength Oblicza długość geometrii, tak jakby każdy segment został wyrejestrowany do linii.
CD2DGeometry::ComputePointAtLength Oblicza wektor punktowy i styczny na określonej odległości wzdłuż geometrii po przekształceniu przez określoną macierz i spłaszczony przy użyciu określonej tolerancji.
CD2DGeometry::D estroy Niszczy obiekt CD2DGeometry. (Przesłonięcia) CD2DResource::D estroy.
CD2DGeometry::D etach Odłącza interfejs zasobu od obiektu
CD2DGeometry::FillContainsPoint Wskazuje, czy obszar wypełniony geometrią zawiera określony punkt, biorąc pod uwagę określoną tolerancję spłaszczania.
CD2DGeometry::Get Zwraca interfejs ID2D1Geometry
CD2DGeometry::GetBounds
CD2DGeometry::GetWidenedBounds Pobiera granice geometrii po jej poszerzone przez określoną szerokość i styl pociągnięcia oraz przekształcone przez określoną macierz.
CD2DGeometry::IsValid Sprawdza poprawność zasobów (przesłania cd2DResource::IsValid).
CD2DGeometry::Konspekt Oblicza konspekt geometrii i zapisuje wynik w pliku ID2D1SimplifiedGeometrySink.
CD2DGeometry::Upraszczanie Tworzy uproszczoną wersję geometrii, która zawiera tylko linie i (opcjonalnie) sześcienne krzywe Beziera i zapisuje wynik do id2D1SimplifiedGeometrySink.
CD2DGeometry::StrokeContainsPoint Określa, czy pociągnięcie geometrii zawiera określony punkt, biorąc pod uwagę określoną grubość, styl i przekształcenie pociągnięcia.
CD2DGeometry::Tessellate Tworzy zestaw trójkątów z ranami zegara, które pokrywają geometrię po jej przekształceniu przy użyciu określonej macierzy i spłaszczone przy użyciu określonej tolerancji.
CD2DGeometry::Widen Rozszerza geometrię określonego pociągnięcia i zapisuje wynik w id2D1SimplifiedGeometrySink po przekształceniu przez określoną macierz i spłaszczone przy użyciu określonej tolerancji.

Operatory publiczne

Nazwa/nazwisko opis
CD2DGeometry::operator ID2D1Geometry* Zwraca interfejs ID2D1Geometry

Chronione składowe danych

Nazwa/nazwisko opis
CD2DGeometry::m_pGeometry Wskaźnik do id2D1Geometry.

Hierarchia dziedziczenia

Obiekt CObject

CD2DResource

CD2DGeometry

Wymagania

Nagłówek: afxrendertarget.h

CD2DGeometry::~CD2DGeometry

Destruktora. Wywoływana, gdy obiekt geometryczny D2D jest niszczony.

virtual ~CD2DGeometry();

CD2DGeometry::Attach

Dołącza istniejący interfejs zasobu do obiektu

void Attach(ID2D1Geometry* pResource);

Parametry

pResource
Istniejący interfejs zasobu. Nie można mieć wartości NULL

CD2DGeometry::CD2DGeometry

Tworzy obiekt CD2DGeometry.

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

Parametry

pParentTarget
Wskaźnik do obiektu docelowego renderowania.

bAutoDestroy
Wskazuje, że obiekt zostanie zniszczony przez właściciela (pParentTarget).

CD2DGeometry::CombineWithGeometry

Łączy tę geometrię z określoną geometrią i przechowuje wynik w id2D1SimplifiedGeometrySink.

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

Parametry

inputGeometry
Geometria do połączenia z tym wystąpieniem.

combineMode
Typ operacji łączenia do wykonania.

inputGeometryTransform
Przekształcenie, które ma być stosowane do inputGeometry przed połączeniem.

geometrySink
Wynik operacji łączenia.

spłaszczanieDolerancja
Maksymalna granica odległości między punktami w przybliżeniu wielokątnych geometrii. Mniejsze wartości generują dokładniejsze wyniki, ale powodują wolniejsze wykonywanie.

Wartość zwracana

Jeśli metoda powiedzie się, zwraca wartość TRUE. W przeciwnym razie zwraca wartość FALSE.

CD2DGeometry::CompareWithGeometry

Opisuje przecięcie między tą geometrią a określoną geometrią. Porównanie jest wykonywane przy użyciu określonej tolerancji spłaszczania.

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

Parametry

inputGeometry
Geometria do przetestowania.

inputGeometryTransform
Przekształcenie do zastosowania do inputGeometry.

spłaszczanieDolerancja
Maksymalna granica odległości między punktami w przybliżeniu wielokątnych geometrii. Mniejsze wartości generują dokładniejsze wyniki, ale powodują wolniejsze wykonywanie.

Wartość zwracana

Jeśli metoda powiedzie się, zwraca wartość TRUE. W przeciwnym razie zwraca wartość FALSE.

CD2DGeometry::ComputeArea

Oblicza obszar geometrii po przekształceniu przez określoną macierz i spłaszczone przy użyciu określonej tolerancji.

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

Parametry

worldTransform
Transformacja, która ma zastosowanie do tej geometrii przed obliczeniu jej obszaru.

obszar
Gdy ta metoda zwraca, zawiera wskaźnik do obszaru przekształconej, spłaszczonej wersji tej geometrii. Musisz przydzielić magazyn dla tego parametru.

spłaszczanieDolerancja
Maksymalna granica odległości między punktami w przybliżeniu wielokątne geometrii. Mniejsze wartości generują dokładniejsze wyniki, ale powodują wolniejsze wykonywanie.

Wartość zwracana

Jeśli metoda powiedzie się, zwraca wartość TRUE. W przeciwnym razie zwraca wartość FALSE.

CD2DGeometry::ComputeLength

Oblicza długość geometrii, tak jakby każdy segment został wyrejestrowany do linii.

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

Parametry

worldTransform
Przekształcenie, które ma być stosowane do geometrii przed obliczeniem jego długości.

length
Gdy ta metoda zwraca, zawiera wskaźnik do długości geometrii. W przypadku zamkniętych geometrii długość obejmuje niejawny segment zamykający. Musisz przydzielić magazyn dla tego parametru.

spłaszczanieDolerancja
Maksymalna granica odległości między punktami w przybliżeniu wielokątne geometrii. Mniejsze wartości generują dokładniejsze wyniki, ale powodują wolniejsze wykonywanie.

Wartość zwracana

Jeśli metoda powiedzie się, zwraca wartość TRUE. W przeciwnym razie zwraca wartość FALSE.

CD2DGeometry::ComputePointAtLength

Oblicza wektor punktowy i styczny na określonej odległości wzdłuż geometrii po przekształceniu przez określoną macierz i spłaszczony przy użyciu określonej tolerancji.

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

Parametry

length
Odległość wzdłuż geometrii punktu i tangensu do znalezienia. Jeśli ta odległość jest mniejsza niż 0, ta metoda oblicza pierwszy punkt geometrii. Jeśli ta odległość jest większa niż długość geometrii, ta metoda oblicza ostatni punkt w geometrii.

worldTransform
Przekształcenie, które ma być stosowane do geometrii przed obliczeniem określonego punktu i tangensu.

punkt
Lokalizacja na określonej odległości wzdłuż geometrii. Jeśli geometria jest pusta, ten punkt zawiera wartość NaN jako wartości x i y.

unitTangentVector
Gdy ta metoda zwraca, zawiera wskaźnik do wektora tangensowego w określonej odległości wzdłuż geometrii. Jeśli geometria jest pusta, ten wektor zawiera wartość NaN jako wartości x i y. Musisz przydzielić magazyn dla tego parametru.

spłaszczanieDolerancja
Maksymalna granica odległości między punktami w przybliżeniu wielokątne geometrii. Mniejsze wartości generują dokładniejsze wyniki, ale powodują wolniejsze wykonywanie.

Wartość zwracana

Jeśli metoda powiedzie się, zwraca wartość TRUE. W przeciwnym razie zwraca wartość FALSE.

CD2DGeometry::D estroy

Niszczy obiekt CD2DGeometry.

virtual void Destroy();

CD2DGeometry::D etach

Odłącza interfejs zasobu od obiektu

ID2D1Geometry* Detach();

Wartość zwracana

Wskaźnik do odłączonego interfejsu zasobu.

CD2DGeometry::FillContainsPoint

Wskazuje, czy obszar wypełniony geometrią zawiera określony punkt, biorąc pod uwagę określoną tolerancję spłaszczania.

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

Parametry

punkt
Punkt do przetestowania.

worldTransform
Przekształcenie, które ma być stosowane do geometrii przed rozpoczęciem testowania w celu powstrzymania.

Contains
Gdy ta metoda zwraca wartość logiczną, która ma wartość TRUE, jeśli obszar wypełniony przez geometrię zawiera punkt; w przeciwnym razie, FAŁSZ. Musisz przydzielić magazyn dla tego parametru.

spłaszczanieDolerancja
Dokładność liczbowa, za pomocą której jest obliczana dokładna ścieżka geometryczna i przecięcie ścieżki. Punkty, w których brakuje wypełnienia o mniejsze niż tolerancja, są nadal brane pod uwagę wewnątrz. Mniejsze wartości generują dokładniejsze wyniki, ale powodują wolniejsze wykonywanie.

Wartość zwracana

Jeśli metoda powiedzie się, zwraca wartość TRUE. W przeciwnym razie zwraca wartość FALSE.

CD2DGeometry::Get

Zwraca interfejs ID2D1Geometry

ID2D1Geometry* Get();

Wartość zwracana

Wskaźnik do interfejsu ID2D1Geometry lub NULL, jeśli obiekt nie został jeszcze zainicjowany.

CD2DGeometry::GetBounds

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

Parametry

worldTransform
Granice

Wartość zwracana

CD2DGeometry::GetWidenedBounds

Pobiera granice geometrii po jej poszerzone przez określoną szerokość i styl pociągnięcia oraz przekształcone przez określoną macierz.

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

Parametry

strokeWidth
Ilość, o którą należy poszerzyć geometrię przez naciśnięcie jej konturu.

strokeStyle
Styl pociągnięcia, który rozszerza geometrię.

worldTransform
Przekształcenie stosowane do geometrii po przekształceniu geometrii i po pociągnięciu geometrii.

Granice
Gdy ta metoda zwróci wartość , zawiera granice rozszerzonej geometrii. Musisz przydzielić magazyn dla tego parametru.

spłaszczanieDolerancja
Maksymalna granica odległości między punktami w przybliżeniu wielokątnych geometrii. Mniejsze wartości generują dokładniejsze wyniki, ale powodują wolniejsze wykonywanie.

Wartość zwracana

Jeśli metoda powiedzie się, zwraca wartość TRUE. W przeciwnym razie zwraca wartość FALSE.

CD2DGeometry::IsValid

Sprawdza poprawność zasobów

virtual BOOL IsValid() const;

Wartość zwracana

Wartość TRUE, jeśli zasób jest prawidłowy; w przeciwnym razie FAŁSZ.

CD2DGeometry::m_pGeometry

Wskaźnik do id2D1Geometry.

ID2D1Geometry* m_pGeometry;

CD2DGeometry::operator ID2D1Geometry*

Zwraca interfejs ID2D1Geometry

operator ID2D1Geometry*();

Wartość zwracana

Wskaźnik do interfejsu ID2D1Geometry lub NULL, jeśli obiekt nie został jeszcze zainicjowany.

CD2DGeometry::Konspekt

Oblicza konspekt geometrii i zapisuje wynik w pliku ID2D1SimplifiedGeometrySink.

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

Parametry

worldTransform
Przekształcenie, które ma być stosowane do konturu geometrii.

geometrySink
Id2D1SimplifiedGeometrySink, do którego dołączono przekształcony kontur geometryczny.

spłaszczanieDolerancja
Maksymalna granica odległości między punktami w przybliżeniu wielokątne geometrii. Mniejsze wartości generują dokładniejsze wyniki, ale powodują wolniejsze wykonywanie.

Wartość zwracana

Jeśli metoda powiedzie się, zwraca wartość TRUE. W przeciwnym razie zwraca wartość FALSE.

CD2DGeometry::Upraszczanie

Tworzy uproszczoną wersję geometrii, która zawiera tylko linie i (opcjonalnie) sześcienne krzywe Beziera i zapisuje wynik do id2D1SimplifiedGeometrySink.

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

Parametry

uproszczenieOpcje
Wartość określająca, czy uproszczona geometria powinna zawierać krzywe.

worldTransform
Przekształcenie, które ma zastosowanie do uproszczonej geometrii.

geometrySink
Id2D1SimplifiedGeometrySink, do którego dołączono uproszczoną geometrię.

spłaszczanieDolerancja
Maksymalna granica odległości między punktami w przybliżeniu wielokątne geometrii. Mniejsze wartości generują dokładniejsze wyniki, ale powodują wolniejsze wykonywanie.

Wartość zwracana

Jeśli metoda powiedzie się, zwraca wartość TRUE. W przeciwnym razie zwraca wartość FALSE.

CD2DGeometry::StrokeContainsPoint

Określa, czy pociągnięcie geometrii zawiera określony punkt, biorąc pod uwagę określoną grubość, styl i przekształcenie pociągnięcia.

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

Parametry

punkt
Punkt do przetestowania pod kątem zawierania.

strokeWidth
Grubość pociągnięcia do zastosowania.

strokeStyle
Styl pociągnięcia do zastosowania.

worldTransform
Transformacja do zastosowania do geometrii pociągniętej.

Contains
Gdy ta metoda zwraca wartość logiczną ustawioną na WARTOŚĆ TRUE, jeśli pociągnięcie geometrii zawiera określony punkt; w przeciwnym razie, FAŁSZ. Musisz przydzielić magazyn dla tego parametru.

spłaszczanieDolerancja
Dokładność liczbowa, za pomocą której jest obliczana dokładna ścieżka geometryczna i przecięcie ścieżki. Punkty brakuje pociągnięcia o mniejsze niż tolerancja są nadal brane pod uwagę wewnątrz. Mniejsze wartości generują dokładniejsze wyniki, ale powodują wolniejsze wykonywanie.

Wartość zwracana

Jeśli metoda powiedzie się, zwraca wartość TRUE. W przeciwnym razie zwraca wartość FALSE.

CD2DGeometry::Tessellate

Tworzy zestaw trójkątów z ranami zegara, które pokrywają geometrię po jej przekształceniu przy użyciu określonej macierzy i spłaszczone przy użyciu określonej tolerancji.

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

Parametry

worldTransform
Przekształcenie, które ma dotyczyć tej geometrii lub wartości NULL.

tessellationSink
ID2D1TessellationSink, do którego dołączana jest tessellated.

spłaszczanieDolerancja
Maksymalna granica odległości między punktami w przybliżeniu wielokątne geometrii. Mniejsze wartości generują dokładniejsze wyniki, ale powodują wolniejsze wykonywanie.

Wartość zwracana

Jeśli metoda powiedzie się, zwraca wartość TRUE. W przeciwnym razie zwraca wartość FALSE.

CD2DGeometry::Widen

Rozszerza geometrię określonego pociągnięcia i zapisuje wynik w id2D1SimplifiedGeometrySink po przekształceniu przez określoną macierz i spłaszczone przy użyciu określonej tolerancji.

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

Parametry

strokeWidth
Ilość, o jaką należy poszerzyć geometrię.

strokeStyle
Styl pociągnięcia, który ma być stosowany do geometrii lub wartości NULL.

worldTransform
Przekształcenie, które ma być stosowane do geometrii po jego poszerzeniu.

geometrySink
Id2D1SimplifiedGeometrySink, do którego dołączana jest poszerzony geometria.

spłaszczanieDolerancja
Maksymalna granica odległości między punktami w przybliżeniu wielokątne geometrii. Mniejsze wartości generują dokładniejsze wyniki, ale powodują wolniejsze wykonywanie.

Wartość zwracana

Jeśli metoda powiedzie się, zwraca wartość TRUE. W przeciwnym razie zwraca wartość FALSE.

Zobacz też

Klasy