Aspose.3D FOSS for TypeScript

مرجع API برای @aspose/3d نسخه 24.12.0. نصب از طریق:

npm install @aspose/3d

محیط اجرا: Node.js 18, 20, 22+ · زبان: TypeScript 5.0+ / JavaScript (CommonJS) · مجوز: MIT


گراف صحنه اصلی

ImageRenderOptions

کانتینر ریشه برای یک صحنه 3D. فراخوانی scene.open() یا scene.openFromBuffer() برای بارگذاری یک فایل، و scene.save() برای نوشتن خروجی. در دسترس می‌گذارد scene.rootNode به عنوان نقطه ورودی به سلسله‌مراتب گره‌ها.

ImageRenderOptions

یک گره نام‌دار در درخت صحنه. یک … را نگه می‌دارد Transform,، یک اختیاری entity (mesh، دوربین، نور، یا دیگر SceneObject)، و صفر یا بیشتر گره‌های فرزند قابل دسترسی از طریق childNodes.

ImageRenderOptions

کلاس پایه برای تمام اشیائی که می‌توانند به یک Node به عنوان موجودیت اصلی آن. زیرکلاس شده توسط Mesh, Camera, Light, و دیگران.

SceneObject

پایهٔ انتزاعی برای اشیای نام‌دار که به یک صحنه تعلق دارند. فراهم می‌کند name دنبال‌کردن ویژگی و عضویت در صحنه که بین گره‌ها، موجودیت‌ها و اشیای سطح دارایی به اشتراک گذاشته شده است.

A3DObject

کلاس پایهٔ ریشه برای تمام اشیای Aspose.3D. فراهم می‌کند سیستم ویژگی (getProperty, setProperty) و name فیلد به ارث‌برده شده توسط هر کلاس عمومی.


هندسه و مش

ImageRenderOptions

نمایش یک مش چندضلعی. شامل یک controlPoints آرایه‌ای از Vector4 رئوس و تعاریف چندضلعی ایجاد شده از طریق createPolygon(). فراخوانی triangulate() برای تبدیل تمام چندضلعی‌ها به مثلث‌ها قبل از خروجی‌گیری.

ImageRenderOptions

کلاس پایه برای تمام انواع هندسه. نگهداری می‌کند controlPoints و مجموعه‌ای از عناصر راس (نرمال‌ها، UVها، رنگ‌ها) که به هندسه متصل هستند.

VertexElement

کلاس پایه برای کانال‌های ویژگی به ازای هر راس که به یک Geometry.زیرکلاس‌ها آرایه‌های داده‌ای با نوع مشخص را حمل می‌کنند و mappingMode / referenceMode متادیتا.

VertexElementNormal

یک VertexElement زیرکلاسی که نرمال‌های سطح را ذخیره می‌کند. داده‌ها به‌صورت داخلی به‌عنوان FVector4[] (ارث‌برده از VertexElementFVector). مورد نیاز اکثر رندرها برای نورپردازی صحیح.

VertexElementUV

یک VertexElement زیرکلاسی که مختصات بافت دو‑بعدی را ذخیره می‌کند. یک مش واحد می‌تواند مجموعه‌های UV متعددی برای لایه‌های بافت مختلف داشته باشد.

VertexElementVertexColor

A VertexElement زیرکلاسی که مقادیر رنگ RGBA را به ازای هر راس ذخیره می‌کند.

VertexElementType

فهرست انواع کانال‌های ویژگی که یک VertexElement می‌تواند نمایان کند (مثلاً،)., NORMAL, UV, VERTEX_COLOR, TANGENT, BINORMAL).

MappingMode

شمارشی که کنترل می‌کند داده‌های عنصر چگونه بر روی هندسه نگاشت می‌شوند: CONTROL_POINT, POLYGON_VERTEX, POLYGON, EDGE, یا ALL_SAME.

ReferenceMode

شمارشی که کنترل می‌کند ایندکس‌های عنصر چگونه به داده‌ها ارجاع می‌دهند: DIRECT (یک به یک) یا INDEX_TO_DIRECT (از طریق یک آرایه ایندکس).

TextureMapping

فهرست‌برداری از معانی کانال بافت: DIFFUSE, SPECULAR, NORMAL, EMISSIVE, BUMP, و موارد دیگر.


تبدیل و فضایی

ImageRenderOptions

موقعیت محلی را نگه می‌دارد (translation), چرخش (rotation به عنوان Quaternion), و مقیاس (scaling) از یک Node. تغییرات اینجا بر گره و تمام فرزندان آن تأثیر می‌گذارد.

GlobalTransform

نمایش فقط-خواندنی از تبدیل فضای جهانی یک گره، که با جمع‌آوری تمام اجداد محاسبه می‌شود Transform مقادیر. دسترسی از طریق node.globalTransform.

BoundingBox

یک جعبه محدود‌کننده هم‌محور به محور تعریف‌شده توسط یک minimum و maximum Vector3 گوشه. برای توصیف گستره فضایی یک مش یا صحنه استفاده می‌شود.


ImageRenderOptions

ماتریال، LambertMaterial، PhongMaterial، PbrMaterial

Material کلاس پایهٔ انتزاعی برای تمام انواع مواد است. سه پیاده‌سازی ملموس در دسترس هستند:

  • LambertMaterial — فقط پخش‌کننده با کانال‌های رنگ محیطی، پخش‌کننده و تابشی. مناسب برای سطوح غیر براق.
  • PhongMaterial — گسترش می‌دهد LambertMaterial با ویژگی‌های رنگ specular و درخشندگی برای سایه‌زنی Phong.
  • PbrMaterial — ماده رندرینگ مبتنی بر فیزیک با کانال‌های metallic، roughness، base-color، و normal‑map. به‌صورت مستقیم به مدل ماده glTF 2.0 PBR نگاشت می‌شود.

دوربین و نورپردازی

ImageRenderOptions

یک موجودیت گره نقطه‌نظر با نوع پروجکشن، زاویه دید، فواصل برش نزدیک/دور، و ویژگی‌های نسبت عرض به ارتفاع.

ImageRenderOptions

یک موجودیت گره منبع نور. نوع توسط LightType شمارش.

LightType

فهرست انواع نورهای پشتیبانی‌شده: POINT, DIRECTIONAL, SPOT, AREA, VOLUME.

ProjectionType

فهرست حالت‌های پروجکشن دوربین: PERSPECTIVE و ORTHOGRAPHIC.


ابزارهای ریاضی

ImageRenderOptions

یک بردار نقطه شناور سه‌جزئیه با x, y, z فیلدها و متدهای ریاضی عمومی (dot, cross, normalize, minus, times). صادر شده از @aspose/3d/utilities.

ImageRenderOptions

یک بردار نقطه شناور چهار مؤلفه‌ای با x, y, z, w فیلدها. به عنوان نوع ورودی‌ها در Mesh.controlPoints.

ImageRenderOptions

یک بردار دو مؤلفه‌ای با دقت دوگانه x و y فیلدها. برای مختصات بافت UV استفاده می‌شود.

FVector3

یک بردار فلوته تک‌دقت سه‌جزئیه فشرده که در آرایه‌های داده عنصر رأس برای نرمال‌ها و تانژنت‌ها استفاده می‌شود.

ImageRenderOptions

یک ماتریس تبدیل 4×4. از ترکیب، وارون‌سازی، ترانسپوز و تجزیه به مؤلفه‌های انتقال، چرخش و مقیاس پشتیبانی می‌کند. صادر شده از @aspose/3d/utilities.

ImageRenderOptions

یک کواترنیون واحد برای نمایش چرخش‌ها بدون قفل گیمبال. فراهم می‌کند slerp() برای درون‌یابی صاف و تبدیل به/از زاویه‌های اویلر و Matrix4. صادر شده از @aspose/3d/utilities.


ImageRenderOptions

AnimationClip

یک مجموعهٔ نام‌گذاری‌شده و محدود به زمان از AnimationNode ردیف‌ها. محفظهٔ اصلی برای داده‌های انیمیشن کلید‑فریم که از فایل‌های FBX یا COLLADA بارگذاری می‌شوند.

AnimationNode

یک ردیف انیمیشن نام‌گذاری‌شده که مسیر خاصی از ویژگی را روی یک شیء صحنه هدف می‌گیرد. شامل یک یا چند AnimationChannel شیء‌ها.

AnimationChannel

یک کانال ویژگی انیمیشن‌دار تک درون یک AnimationNode. یک … را نگه می‌دارد KeyframeSequence از جفت‌های زمان/مقدار.

KeyFrame

یک نمونهٔ زمان/مقدار تک در یک KeyframeSequence. برچسب زمانی (بر حسب ثانیه)، مقدار، و اطلاعات تانژانت برای درون‌یابی را حمل می‌کند.

KeyframeSequence

یک فهرست مرتب از KeyFrame نمونه‌ها برای یک کانال ویژگی، همراه با Interpolation و Extrapolation تنظیماتی که پخش را کنترل می‌کنند.

ImageRenderOptions

فهرست حالت‌های درون‌یابی فریم کلیدی. اعضای شناخته‌شده شامل LINEAR و CONSTANT. اعضای اضافی مانند BEZIER ممکن است در دسترس باشد.

ImageRenderOptions

رفتار خارج از بازهٔ فریم کلیدی (قبل از اولین کلید و پس از آخرین کلید) را تعریف می‌کند. کنترل‌شده توسط ExtrapolationType.

StepMode

شمارشی که کنترل می‌کند درون‌یابی گام‌دار (ثابت) چگونه در مرزها اعمال می‌شود.

WeightedMode

شمارش برای مدیریت وزن تانژانت بزیه: NONE, OUT_WEIGHT, NEXT_IN_WEIGHT, یا BOTH.

ExtrapolationType

شمارش رفتارهای خارج از محدوده: CONSTANT, GRADIENT, CYCLE, CYCLE_RELATIVE, و OSCILLATE.


ورودی/خروجی فرمت

FileFormat

توصیف‌گر پایه برای یک فرمت فایل 3D. هر فرمت پشتیبانی‌شده یک تک‌نمونهٔ مشخص را از طریق getInstance().

ImageRenderOptions

کلاس پایه برای پیاده‌سازی‌های import مخصوص فرمت. به‌صورت مستقیم نمونه‌سازی نمی‌شود؛ به‌صورت داخلی توسط scene.open().

ImageRenderOptions

کلاس پایه برای پیاده‌سازی‌های export مخصوص فرمت. به‌صورت مستقیم نمونه‌سازی نمی‌شود؛ به‌صورت داخلی توسط scene.save().

LoadOptions

کلاس پایه برای اشیای گزینه‌های بارگذاری مخصوص فرمت. یک نمونه از کلاس فرعی را به scene.open() یا scene.openFromBuffer().

SaveOptions

کلاس پایه برای اشیای گزینه‌های ذخیره‌سازی مخصوص فرمت. یک نمونه از کلاس فرعی را به scene.save().

IOService

رابط سرویس داخلی که ورودی/خروجی فایل‌سیستم و بافر را برای واردکننده‌ها و صادرکننده‌ها انتزاع می‌کند.


قالب OBJ

OBJ از هر دو عملیات واردات و صادرات پشتیبانی می‌کند. هنگام ذخیره به صورت OBJ، کتابخانه مواد (.mtl) به‌صورت خودکار در کنار the .obj فایل.

ObjImporter

واردکننده داخلی که فایل‌های Wavefront OBJ را می‌خواند، حل می‌کند .mtl کتابخانه‌های متریال، و یک را پر می‌کند Scene. به‌صورت خودکار فراخوانی می‌شود وقتی ObjLoadOptions به scene.open().

ObjExporter

صادرکننده داخلی که فایل‌های Wavefront OBJ را می‌نویسد. یک همراه .mtl کتابخانه مواد به‌صورت خودکار نوشته می‌شود. زمانی که scene.save() به هدف یک .obj مسیر.

ObjLoadOptions

گزینه‌های بارگذاری برای فایل‌های OBJ. ویژگی‌های کلیدی: enableMaterials (بولی, پیش‌فرض true), flipCoordinateSystem (بولی), normalizeNormal (بولی, پیش‌فرض true), scale (عدد). ببینید گزینه‌های بارگذاری و ذخیره‌سازی فرمت برای جزئیات کامل.

ObjSaveOptions

گزینه‌های ذخیره برای خروجی OBJ. به scene.save() برای کنترل رفتار خروجی OBJ. ببینید گزینه‌های بارگذاری و ذخیره‌سازی فرمت برای جزئیات کامل.

ObjFormat

توصیف‌گر فرمت تک‌نمونه برای OBJ. هر دو canImport و canExport هستند true.


فرمت glTF

GltfImporter

خواندن glTF 2.0 JSON (.gltf) و باینری GLB (.glb) فایل‌ها. ارجاعات بافر توکار و خارجی، مواد PBR، اسکین‌ها و کلیپ‌های انیمیشن را مدیریت می‌کند.

GltfExporter

نوشتن خروجی glTF 2.0. وقتی GltfSaveOptions.binaryMode است true, یک GLB خود-مستقل تولید می‌کند؛ در غیر این صورت یک JSON می‌نویسد .gltf با یک همراه .bin بافر.

GltfLoadOptions

گزینه‌های بارگذاری برای فایل‌های glTF/GLB. حل‌وفصل بافر و رفتار بارگذاری بافت‌ها را کنترل می‌کند.

GltfSaveOptions

گزینه‌های ذخیره برای خروجی glTF/GLB. ویژگی‌های قابل توجه: binaryMode (boolean،, true → GLB، پیش‌فرض false), flipTexCoordV (boolean، محور عمودی UV را وارونه می‌کند، پیش‌فرض true). ببینید گزینه‌های بارگذاری و ذخیره‌سازی فرمت برای جزئیات کامل.

GltfFormat

توصیف‌گر فرمت singleton. دریافت کنید از GltfFormat.getInstance() و به آن پاس دهید scene.save() به عنوان آرگومان دوم.


فرمت STL

StlImporter

هر دو فایل ASCII و باینری STL را می‌خواند به یک Scene که شامل یک Mesh موجودیت.

StlExporter

فایل STL باینری را می‌نویسد. خروجی شامل مش مثلثی شده از صحنه است؛ چندضلعی‌های غیرمثلث به‌صورت خودکار مثلثی می‌شوند.

StlLoadOptions

گزینه‌های بارگذاری برای STL. کنترل می‌کند که آیا واردکننده در طول وارد کردن نرمال‌ها را معکوس می‌کند یا نه.

StlSaveOptions

گزینه‌های ذخیره‌سازی برای خروجی STL. ویژگی کلیدی: binaryMode (بولی، پیش‌فرض false). کنترل می‌کند که خروجی به صورت STL ASCII یا باینری باشد. ببینید گزینه‌های بارگذاری و ذخیره‌سازی فرمت برای جزئیات کامل.

StlFormat

توصیف‌گر فرمت به‌صورت تک‌نمونه. دریافت از StlFormat.getInstance().


3MF Format

ThreeMfImporter

آرشیوهای Open Packaging Convention 3MF را می‌خواند و یک Scene با اشیای مش، رنگ‌ها و ویژگی‌های مواد.

ThreeMfExporter

یک آرشیو 3MF معتبر را از صحنهٔ فعلی می‌نویسد. برای جریان‌های کاری چاپ سه‌بعدی مناسب است.

ThreeMfLoadOptions

گزینه‌های بارگذاری برای فایل‌های 3MF.

ThreeMfSaveOptions

گزینه‌های ذخیره برای خروجی 3MF.

ThreeMfFormat

توصیف‌گر فرمت به‌صورت تک‌نمونه. دریافت از ThreeMfFormat.getInstance().


فرمت FBX

FbxImporter

فایل‌های باینری و ASCII FBX را می‌خواند، شامل هندسه، مواد، اسکلت‌ها، شکل‌های ترکیبی و کلیپ‌های انیمیشن.

FbxExporter

فایل‌های FBX را از صحنه فعلی می‌نویسد. خروجی باینری و ASCII FBX هر دو بسته به گزینه‌ها پشتیبانی می‌شوند.

FbxLoadOptions

گزینه‌های بارگذاری برای FBX. کنترل می‌کند که آیا انیمیشن، پوست‌ها و شکل‌های ترکیبی وارد شوند یا نه.

FbxSaveOptions

گزینه‌های ذخیره برای خروجی FBX. ویژگی کلیدی: embedTextures (بولی، پیش‌فرض false). ببینید گزینه‌های بارگذاری و ذخیره‌سازی فرمت برای جزئیات کامل.

FbxFormat

توصیف‌گر فرمت singleton. دریافت کنید از FbxFormat.getInstance().


فرمت COLLADA

واردات و صادرات COLLADA نیاز دارند به xmldom peer dependency، که به‌صورت خودکار همراه با نصب می‌شود @aspose/3d.

ColladaImporter

COLLADA را می‌خواند (.dae) فایل‌های XML را با استفاده از xmldom. هندسه، مواد، دوربین‌ها، نورها و انیمیشن را مدیریت می‌کند.

ColladaExporter

خروجی XML COLLADA را از صحنهٔ فعلی می‌نویسد. برای تبادل با ابزارهای DCC (Blender، Maya و غیره) مناسب است.

ColladaFormat

توصیف‌گر فرمت singleton. دریافت کنید از ColladaFormat.getInstance().


سیستم ویژگی‌ها

ImageRenderOptions

یک جفت نام/مقدار تایپ‌شده که می‌تواند به هر A3DObject. انواع مقدار اسکالر و برداری را پشتیبانی می‌کند.

PropertyCollection

یک محفظهٔ مرتب از Property اشیاء. قابل دسترسی بر روی هر A3DObject از طریق properties دسترس‌گیر.

CustomObject

یک بستهٔ ویژگی آزاد که گسترش می‌یابد A3DObject. برای ذخیرهٔ فرادادهٔ دلخواه که به کلاس استانداردی نگاشته نمی‌شود استفاده می‌شود.


اطلاعات دارایی

AssetInfo

حاوی فراداده‌های سطح صحنه‌ای است که از فایل منبع بارگذاری می‌شود: نویسنده، نام برنامه، تاریخ ایجاد، مقیاس واحد، و اطلاعات محورهای مختصات.

ImageRenderOptions

گزینه‌هایی که نحوهٔ حل و کدگذاری بافت‌ها و تصاویر را هنگام ذخیره‌سازی به فرمت‌هایی که دادهٔ تصویر را درون‌ریزی می‌کنند، کنترل می‌کنند (مثلاً GLB با binaryMode: true).


همچنین ببینید

 فارسی