Bagikan melalui


Fungsi gluEndTrim

Fungsi gluBeginTrim dan gluEndTrim memisahkan definisi perulangan pemangkasan B-Spline Rasional Non-Seragam (NURBS).

Sintaks

void WINAPI gluEndTrim(
   GLUnurbs *nobj
);

Parameter

nobj

Objek NURBS (dibuat dengan gluNewNurbsRenderer).

Menampilkan nilai

Fungsi ini tidak mengembalikan nilai.

Keterangan

Gunakan gluBeginTrim untuk menandai awal perulangan pemangkasan, dan gluEndTrim untuk menandai akhir perulangan pemangkasan. Perulangan pemangkasan adalah sekumpulan segmen kurva berorientasi (membentuk kurva tertutup) yang menentukan batas permukaan NURBS. Anda menyertakan perulangan pemangkasan ini dalam definisi permukaan NURBS, antara panggilan ke gluBeginSurface dan gluEndSurface.

Definisi untuk permukaan NURBS dapat berisi banyak perulangan pemangkasan. Misalnya, jika Anda menulis definisi untuk permukaan NURBS yang menyerupai persegi panjang dengan lubang yang dilubangi, definisi akan berisi dua perulangan pemangkasan. Satu perulangan akan menentukan tepi luar persegi panjang; yang lain akan mendefinisikan lubang yang ditinju. Definisi masing-masing perulangan pemangkasan ini akan dikurung oleh pasangan gluEndTrim gluBeginTrim / .

Definisi loop pemangkasan tertutup tunggal dapat terdiri dari beberapa segmen kurva, masing-masing digambarkan sebagai serangkaian segmen garis yang membentuk kurva linier (lihat gluPwlCurve), sebagai kurva NURBS tunggal (lihat gluNurbsCurve), atau sebagai kombinasi keduanya dalam urutan apa pun. Satu-satunya panggilan pustaka yang dapat muncul dalam definisi trimming-loop (antara panggilan ke gluBeginTrim dan gluEndTrim) adalah gluPwlCurve dan gluNurbsCurve.

Area yang ditampilkan dari permukaan NURBS adalah wilayah di domain di sebelah kiri kurva pemangkasan saat parameter kurva meningkat. Dengan demikian, wilayah yang dipertahankan dari permukaan NURBS berada di dalam perulangan pemangkasan berlawanan arah jaring jam dan di luar perulangan pemangkasan searah jaring jam. Untuk persegi panjang yang disebutkan sebelumnya, perulangan pemangkasan untuk tepi luar persegi panjang berjalan berlawanan arah jarum jam, sementara perulangan pemangkasan untuk lubang yang dilubangi berjalan searah jarum jam.

Jika Anda menggunakan lebih dari satu kurva untuk menentukan perulangan pemangkasan tunggal, segmen kurva harus membentuk perulangan tertutup (yaitu, titik akhir setiap kurva harus menjadi titik awal kurva berikutnya, dan titik akhir kurva akhir harus menjadi titik awal kurva pertama). Jika titik akhir kurva cukup berdekatan tetapi tidak persis bertepatan, mereka akan dipaksa untuk mencocokkan. Jika titik akhir tidak cukup dekat, hasil kesalahan (lihat gluNurbsCallback).

Jika definisi trimming-loop berisi beberapa kurva, arah kurva harus konsisten (yaitu, bagian dalam harus berada di sebelah kiri semua kurva). Anda dapat menggunakan perulangan pemangkasan berlapis selama orientasi kurva bergantian dengan benar. Kurva pemangkasan tidak dapat bersinggungan sendiri, juga tidak dapat saling bersinggungan (atau hasil kesalahan).

Jika tidak ada informasi pemangkasan yang diberikan untuk permukaan NURBS, seluruh permukaan digambar.

Contoh

Fragmen kode ini mendefinisikan perulangan pemangkasan yang terdiri dari satu kurva linier sepotong dan dua kurva NURBS:

gluBeginTrim(nobj); 
    gluPwlCurve(. . ., GLU_MAP1_TRIM_2); 
    gluNurbsCurve(. . ., GLU_MAP1_TRIM_2); 
    gluNurbsCurve(. . ., GLU_MAP1_TRIM_3);  
gluEndTrim(nobj);

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung
Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung
Windows 2000 Server [hanya aplikasi desktop]
Header
Glu.h
Pustaka
Glu32.lib
DLL
Glu32.dll

Lihat juga

gluBeginSurface

gluEndSurface

gluNewNurbsRenderer

gluNurbsCallback

gluNurbsCurve

gluPwlCurve