Aspose.3D FOSS for Java

مرجع API برای aspose-3d-foss 26.1.0 (Java 21+, MIT license).

تمام کلاس‌ها در com.aspose.threed پکیج ریشه. وارد کردن ریشه به صورت زیر است:

import com.aspose.threed.*;

ساختار پکیج: تقریباً تمام کلاس‌های عمومی در com.aspose.threed. تنها زیرپکیج معمولاً استفاده می‌شود com.aspose.threed.shading (برای PbrMaterial). این com.aspose.threed.formats زیرپکیج شامل واردکننده‌ها/صادرکننده‌های داخلی است و معمولاً به‌صورت مستقیم وارد نمی‌شود.

قالب نام‌گذاری Java: تمام ویژگی‌ها از متدهای getter/setter استفاده می‌کنند. به عنوان مثال، استفاده کنید node.getTransform() به‌جای node.transform,، و transform.setTranslation(...) به‌جای transform.translation = .... توجه داشته باشید که Vector3, Vector4, Quaternion, Matrix4,، و FVector نوع‌ها از فیلدهای عمومی (v.x, v.y, v.z) به‌جای گترها برای دسترسی به مؤلفه‌ها.


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

EnumerationsEnumerations
Sceneمحفظهٔ سطح بالای تمام داده‌های صحنهٔ سه‌بعدی. ریشهٔ گره، فرادادهٔ دارایی‌ها و کلیپ‌های انیمیشن را نگه می‌دارد. در دسترس قرار می‌دهد fromFile(), open(),، و save() به‌عنوان نقاط ورودی/خروجی اصلی.
Nodeیک گرهٔ نام‌گذاری‌شده در سلسله‌مراتب صحنه. فهرستی از گره‌های فرزند و فهرستی از پیوست‌های Entity اشیائی مانند مش‌ها، دوربین‌ها و نورها. دارای یک Transform.
Entityکلاس پایهٔ انتزاعی برای تمام اشیائی که می‌توانند به یک Node. نام و هویت را فراهم می‌کند اما هندسه‌ای از خود ندارد.
SceneObjectکلاس پایهٔ مشترک توسط Node و Entity. رابط جمع‌آوری ویژگی‌ها را که برای فراداده‌های تعریف‌شده توسط کاربر استفاده می‌شود، فراهم می‌کند.
A3DObjectکلاس پایه ریشه برای تمام اشیای مدیریت‌شده Aspose.3D. ویژگی name و Properties مجموعه.
INamedObjectرابطی که تضمین می‌کند یک getName() متد. پیاده‌سازی شده توسط Node, Entity,، و چندین نوع توصیف‌گر مخصوص فرمت.

هندسه و مش

EnumerationsEnumerations
Meshموجودیت مش چندضلعی. نقاط کنترل (موقعیت‌های راس به عنوان Vector4)، فهرست‌های سطح چندضلعی (فهرست‌های ایندکس نقاط کنترل)، و لایه‌های عنصر راس (نرمال‌ها، UVها، رنگ‌های راس).
Geometryپایهٔ انتزاعی برای انواع هندسه شبیه مش. آرایهٔ نقاط کنترل و مجموعهٔ VertexElement لایه‌ها. Mesh از … ارث می‌برد Geometry.
VertexElementپایهٔ انتزاعی برای لایهٔ داده‌ای که به هندسه (نرمال‌ها، UVها، رنگ‌ها و غیره) متصل است. حمل می‌کند getMappingMode(), getReferenceMode(),، و یک فهرست داده.
VertexElementNormalیک بردار نرمال برای هر راس یا هر گوشهٔ چندضلعی ذخیره می‌کند، بسته به حالت نگاشت. مقادیر داده Vector4 نمونه‌ها با w استفاده نشده.
VertexElementUVجفت‌های مختصات بافت را ذخیره می‌کند (Vector2) برای هر راس یا هر گوشهٔ چندضلعی. یک مش می‌تواند لایه‌های UV متعددی برای کانال‌های بافت مختلف داشته باشد.
VertexElementVertexColorداده‌های رنگ RGBA را به صورت هر‑راس یا هر‑گوشه ذخیره می‌کند به عنوان Vector4 (r, g, b, a در بازهٔ 0–1).
VertexElementTypeشمارشی که نقش معنایی لایه عنصر راس را شناسایی می‌کند: NORMAL, UV, VERTEX_COLOR, و دیگران. مقادیر را به Mesh.getElement().
MappingModeشمارشی که تعیین می‌کند مقدار عنصر راس به کدام primitive نگاشت می‌شود: CONTROL_POINT, POLYGON_VERTEX, یا POLYGON.
ReferenceModeشمارشی که کنترل می‌کند مقادیر چگونه فهرست می‌شوند: DIRECT (یک مقدار برای هر primitive نگاشت) یا INDEX_TO_DIRECT (آرایه مقادیر به‌اضافه آرایه ایندکس‌های جداگانه).

تبدیل و فضایی

EnumerationsEnumerations
Transformتبدیل محلی پیوست شده به یک Node. ترجمه، چرخش (به عنوان Quaternion), و مؤلفه‌های مقیاس، به‌علاوه متدهای راحت برای زوایای اویلر.
GlobalTransformنمایش فقط‑خواندنی از تبدیل فضای جهانی یک گره پس از ترکیب تمام تبدیلات اجدادی. دسترسی از طریق node.getGlobalTransform().
AssetInfoبلوک متادیتا پیوست شده به یک Scene. نام برنامهٔ نویسنده، نام واحد، ضریب مقیاس واحد، تعریف‌های محورهای سیستم مختصات، و زمان‌مهرهای ایجاد/تغییر را ذخیره می‌کند.

مواد و سایه‌زنی

EnumerationsEnumerations
Materialکلاس پایهٔ انتزاعی برای تمام انواع مواد. یک نام و مجموعه‌ای از ویژگی‌ها برای پارامترهای عددی و رنگی فراهم می‌کند.
PbrMaterialمادهٔ رندرینگ مبتنی بر فیزیک (PBR). آلبیدو، ضریب فلزی، ضریب زبری، رنگ تابشی، شفافیت و بافت‌های مرتبط را ذخیره می‌کند. توسط glTF 2.0 و سایر فرمت‌های پشتیبان PBR استفاده می‌شود. وارد کردن: com.aspose.threed.shading.PbrMaterial.

Enumerations

EnumerationsEnumerations
Cameraموجودیت دوربین. ارث‌بری می‌کند از Entity. هیچ ویژگی خاص فرمت در نسخهٔ FOSS Java به جز نام ارث‌بری شده و مجموعهٔ ویژگی‌ها در دسترس نیست. پیوست شده به یک Node برای تعریف تبدیلات نقطهٔ نظر.

توجه: Enumerations Light کلاس در نسخهٔ Java از Aspose.3D FOSS موجود نیست. داده‌های نورپردازی صحنه از فایل‌های وارد شده به‌صورت عمومی ذخیره می‌شوند Entity اشیاء.


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

EnumerationsEnumerations
Vector2بردار دو مؤلفه‌ای با دقت دوگانه (x, y). برای مختصات بافت UV استفاده می‌شود.
Vector3بردار سه مؤلفه‌ای با دقت دوگانه (x, y, z). برای موقعیت‌ها، جهت‌ها و مقیاس استفاده می‌شود.
Vector4بردار چهار مؤلفه‌ای با دقت دوگانه (x, y, z, w). برای نقاط کنترل (موقعیت‌های همگن) و داده‌های نرمال استفاده می‌شود.
FVector3بردار شناور سه مؤلفه‌ای با دقت تک‌دقت. در آرایه‌های داده عنصر رأس برای نرمال‌ها و تانژنت‌ها ظاهر می‌شود.
FVector4بردار شناور چهار مؤلفه‌ای با دقت تک‌دقت. نوع ذخیره‌سازی VertexElementFVector داده‌ها.
Quaternionکواترن واحد برای نمایش چرخش‌ها (w, x, y, z). استفاده شده توسط Transform.getRotation().
Matrix44x4 double-precision transformation matrix. Used for world/local transform computations and can be constructed from TRS decompositions.
BoundingBoxجعبه محدود‌کننده محور-محور تعریف‌شده توسط getMinimum() و getMaximum() Vector3 گوشه‌ها. برای پرس‌و‌جوهای فضایی و ابزارهای frustum culling استفاده می‌شود.

Enumerations

EnumerationsEnumerations
AnimationClipکانتینر نام‌گذاری‌شده برای یک بازه انیمیشن. یک Scene ممکن است چندین کلیپ (مثلاً “Walk”, “Run”) را در خود داشته باشد. قالب اعلان — داده‌های فریم کلیدی و پخش هنوز پیاده‌سازی نشده‌اند.

ورودی/خروجی فرمت‌ها

EnumerationsEnumerations
Scene.fromFile(path)متد ایستا. فایلی را در path,، قالب را از پسوند تشخیص می‌دهد و یک … پر شده را برمی‌گرداند Scene. در صورت عدم یافتن فایل یا قالب پشتیبانی نشده استثنا می‌اندازد.
Scene.open(path, options)متد نمونه. فایلی را در یک … موجود باز می‌کند Scene نمونه، به‌صورت اختیاری با استفاده از یک قالب-خاص LoadOptions زیرکلاس.
Scene.save(path, options)متد نمونه. صحنه را به path با استفاده از قالبی که از پسوند استنتاج می‌شود، به‌صورت اختیاری با استفاده از یک قالب-خاص SaveOptions زیرکلاس.
FileFormatثبت‌نام قالب‌های فایل پشتیبانی‌شده. شامل ورودی‌هایی مانند FileFormat.WAVEFRONT_OBJ(), FileFormat.GLTF2(), FileFormat.FBX7400ASCII().
IOServiceانتزاع داخلی I/O که توسط واردکنندگان و صادرکنندگان فرمت استفاده می‌شود. معمولاً به‌صورت مستقیم توسط کد برنامه استفاده نمی‌شود.
LoadOptionsکلاس پایه برای تمام اشیای گزینه‌بارگذاری مخصوص فرمت. زیرکلاس شده توسط ObjLoadOptions, StlLoadOptions, GltfLoadOptions, FbxLoadOptions.
SaveOptionsکلاس پایه برای تمام اشیای گزینه‌ذخیره مخصوص فرمت. زیرکلاس شده توسط ObjSaveOptions, StlSaveOptions, GltfSaveOptions.

فرمت OBJ

EnumerationsEnumerations
ObjImporterکلاس واردکننده داخلی که فایل‌های Wavefront OBJ و MTL را تجزیه می‌کند. به‌صورت خودکار توسط Scene.fromFile() برای .obj پسوندها.
ObjLoadOptionsگزینه‌های بارگذاری برای فایل‌های Wavefront OBJ. ویژگی‌های کلیدی: setFlipCoordinateSystem(), setScale(), setEnableMaterials(), setNormalizeNormal().
ObjSaveOptionsگزینه‌های ذخیره برای خروجی Wavefront OBJ. نرمال‌ها، UVها، مراجع مواد و حالت ابرنقطه‌ای را کنترل می‌کند.
ObjFormatتوصیف‌گر فرمت برای Wavefront OBJ. قابل دسترسی به‌عنوان FileFormat.WAVEFRONT_OBJ().

فرمت STL

EnumerationsEnumerations
StlImporterواردکننده داخلی که هر دو فایل باینری و ASCII STL را می‌خواند. به‌صورت خودکار بر اساس پسوند انتخاب می‌شود.
StlExporterصادرکننده داخلی که STL می‌نویسد.
StlLoadOptionsگزینه‌های بارگذاری برای فایل‌های STL. پشتیبانی می‌کند setFlipCoordinateSystem(), setRecalculateNormal(), و setContentType().
StlSaveOptionsگزینه‌های ذخیره‌سازی برای خروجی STL. کنترل می‌کند setFlipCoordinateSystem(), setAxisSystem(), و setContentType().
StlFormatتوصیف‌گر فرمت برای STL.

فرمت glTF

EnumerationsEnumerations
GltfLoadOptionsگزینه‌های بارگذاری برای فایل‌های glTF 2.0 و GLB. ویژگی‌های کلیدی: setFlipCoordinateSystem(), setPrettyPrint().
GltfSaveOptionsگزینه‌های ذخیره‌سازی برای خروجی glTF 2.0 و GLB. استفاده کنید setContentType(FileContentType.BINARY) برای تولید یک خودکفا .glb بسته.
GltfFormatتوصیف فرمت برای glTF 2.0 / GLB. قابل دسترسی به عنوان FileFormat.GLTF2().

قالب FBX

FBX پشتیبانی می‌شود برای فقط وارد کردن. صادرات به FBX در نسخه Java FOSS موجود نیست.

EnumerationsEnumerations
FbxLoadOptionsگزینه‌های بارگذاری برای فایل‌های FBX. ویژگی کلیدی: setFlipCoordinateSystem().
FbxFormatتوصیف فرمت برای FBX. قابل دسترسی به عنوان FileFormat.FBX7400ASCII().

Enumerations

EnumerationsEnumerations
Axisمحور مختصات را شناسایی می‌کند: X_AXIS, Y_AXIS, Z_AXIS. در گزینه‌های بازنگری سیستم مختصات استفاده می‌شود.
CoordinateSystemقواعد دست‌زدگی را مشخص می‌کند: RIGHT_HANDED یا LEFT_HANDED.
TextureMappingنحوه‌ی نگاشت یک بافت به هندسه را شناسایی می‌کند: DIFFUSE, SPECULAR, EMISSIVE, NORMAL, AMBIENT, و غیره.
BooleanOperationنوع عملیات بولی CSG: UNION, DIFFERENCE, INTERSECTION.

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

EnumerationsEnumerations
Propertyیک ویژگی تک‌نام‌دار و تایپ‌شده بر روی یک A3DObject. نام ویژگی، توصیف‌گر نوع و مقدار فعلی را ذخیره می‌کند.
PropertyCollectionمجموعه قابل تکرار از Property اشیائی که به یک A3DObject. امکان جستجو بر اساس نام و تکرار بر تمام ویژگی‌های تعریف‌شده را فراهم می‌کند.
CustomObjectیک سبک وزن A3DObject زیرکلاس که فقط یک نام و یک … دلخواه را حمل می‌کند PropertyCollection. برای ذخیره‌سازی فراداده‌های تعریف‌شده توسط کاربر بر روی اشیای صحنه استفاده می‌شود.

تصویر و رندر

EnumerationsEnumerations
ImageRenderOptionsگزینه‌ها برای رستر‌سازی نرم‌افزاری هنگام رندر کردن یک صحنه به یک بافر تصویر. رنگ پس‌زمینه، ابعاد تصویر و مرجع دوربین را ذخیره می‌کند. این ویژگی در پیکربندی‌های پشتیبانی‌شده در دسترس است.

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

 فارسی