CPlusPlus DAT

CPlusPlus DAT

خلاصه

CPlusPlus DAT به شما این امکان را می‌دهد که با نوشتن پلاگین اختصاصی خود در C++، اپراتورهای سفارشی DAT ایجاد کنید.

با استفاده از CPlusPlus DAT، شما می‌توانید خروجی Table یا Text بسازید، بسته به نوعی که هنگام ایجاد مشخص می‌کنید. برای اطلاعات بیشتر درباره نحوه ساخت فایل‌های .dll برای استفاده در این DAT، به بخش Write a CPlusPlus Plugin و سایر مقالات موجود در دسته‌ی C++ مراجعه کنید.
توجه کنید که مستقل از نوع نود DAT (یعنی Table یا Text)، همه نام‌ها برای جستجوی سلول‌ها و متون اختصاص‌یافته باید به صورت UTF-8 معتبر کدگذاری شده باشند.

نمونه‌ای از پروژه‌ی CPlusPlus DAT به‌عنوان یک پروژه‌ی Visual Studio در ویندوز در مسیر زیر موجود است:

C:/Program Files/Derivative/TouchDesigner/Samples/CPlusPlus/DAT

یا در پوشه‌ی نصب سفارشی TouchDesigner شما.
(یادداشت: در macOS این مسیر است:

TouchDesigner.app/Contents/Resources/tfs/Samples/CPlusPlus/DAT
```)

**پارامترهای سفارشی (Custom Parameters):**
این پارامترها می‌توانند به صورت خودکار توسط فایل **.dll** مربوط به C++ DAT ایجاد شوند. این صفحه‌ی پارامتر سفارشی را می‌توان از داخل تابع `setupParameters()` در فایل `CPlusPlusDATExample.cpp` حذف، ویرایش یا پارامتر جدیدی به آن اضافه کرد. پارامترهای تعریف‌شده بسته به معتبر بودن برای یک وظیفه‌ی خاص می‌توانند فعال یا غیرفعال شوند.

`cplusplusDAT_Class`

---

### محتوا
1. خلاصه
2. پارامترها صفحه Load
3. پارامترها صفحه Common
4. ورودی‌های اپراتور
5. کانال‌های اطلاعات CHOP
- 5.1. کانال‌های اطلاعات مشترک DAT
- 5.2. کانال‌های اطلاعات مشترک اپراتور

---

### پارامترها – صفحه Load

- **Plugin Path plugin** مسیر پلاگینی که می‌خواهید بارگذاری کنید.

- **Re-Init Class reinit** وقتی این پارامتر روی 1 باشد، نمونه‌ی ساخته‌شده از کلاس ایجادشده توسط پلاگین حذف و دوباره ساخته می‌شود.

- **Re-Init Class reinitpulse** کلاس را فوراً دوباره مقداردهی اولیه می‌کند.

- **Unload Plugin unloadplugin** وقتی مقدار این پارامتر بالاتر از 1 برود، نمونه‌ی کلاس ساخته‌شده توسط پلاگین حذف شده و خود پلاگین نیز بارگذاری‌زدایی (Unload) می‌شود. اگر چندین DAT یک پلاگین مشابه را بارگذاری کرده باشند، همه باید آن را Unload کنند تا فایل آزاد شود.

---

### پارامترها – صفحه Common

- **Language language ⊞** انتخاب می‌کند که DAT چگونه زبان اسکریپت را برای اجرا تعیین کند.
- **Input input** از زبان اسکریپت ورودی استفاده می‌کند.
- **Node node** از زبان اسکریپت نود خودش استفاده می‌کند.

- **Edit/View Extension extension ⊞** انتخاب پسوند فایلی که این DAT باید به ویرایشگرهای خارجی ارائه دهد.
- **dat dat** پسوندهای رایج فایل.
- **frag frag**
- **glsl glsl**
- **html html**
- **md md**
- **py py**
- **rtf rtf**
- **tsv tsv**
- **txt txt**
- **vert vert**
- **xml xml**
- **From Language languageext** انتخاب پسوند بر اساس زبان اسکریپت DAT.
- **Custom Extension customext** تعیین یک پسوند سفارشی.

- **Custom Extension customext** مشخص کردن پسوند سفارشی.

- **Word Wrap wordwrap ⊞** فعال‌سازی پیچش خطوط (Word Wrap) در نمایش نود.
- **Input input** از تنظیم ورودی استفاده می‌کند.
- **On on** Word Wrap فعال باشد.
- **Off off** Word Wrap غیرفعال باشد.

---

### ورودی‌های اپراتور
- **Input 0:**

---

### کانال‌های اطلاعات CHOP

اطلاعات اضافی مربوط به **CPlusPlus DAT** از طریق **Info CHOP** قابل دسترسی است.

#### کانال‌های اطلاعات مشترک DAT
- **num_rows** تعداد ردیف‌های این DAT.
- **num_cols** تعداد ستون‌های این DAT.

#### کانال‌های اطلاعات مشترک اپراتور
- **total_cooks** تعداد دفعاتی که اپراتور از آغاز پردازش تاکنون Cook شده است.
- **cook_time** مدت زمان آخرین Cook بر حسب میلی‌ثانیه.
- **cook_frame** شماره فریمی که اپراتور آخرین بار Cook شده نسبت به تایم‌لاین کامپوننت.
- **cook_abs_frame** شماره فریمی که اپراتور آخرین بار Cook شده نسبت به زمان مطلق.
- **cook_start_time** زمان (بر حسب میلی‌ثانیه) شروع Cook اپراتور در فریمی که پردازش شد.
- **cook_end_time** زمان (بر حسب میلی‌ثانیه) پایان Cook اپراتور در فریمی که پردازش شد.
- **cooked_this_frame** مقدار 1 اگر اپراتور در این فریم Cook شده باشد.
- **warnings** تعداد هشدارهای موجود در این اپراتور (در صورت وجود).
- **errors** تعداد خطاهای موجود در این اپراتور (در صورت وجود).

دیدگاهتان را بنویسید