Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/dev' into dev
Browse files Browse the repository at this point in the history
  • Loading branch information
lmj01 committed Oct 25, 2023
2 parents b6127ac + 2b8f360 commit 7f1fc53
Show file tree
Hide file tree
Showing 29 changed files with 3,174 additions and 598 deletions.
68 changes: 68 additions & 0 deletions docs/api/ar/loaders/managers/DefaultLoadingManager.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
<!DOCTYPE html>
<html lang="ar">
<head>
<meta charset="utf-8" />
<base href="../../../../" />
<script src="page.js"></script>
<link type="text/css" rel="stylesheet" href="page.css" />
</head>
<body class="rtl">
<h1>[name]</h1>

<p class="desc">
نسخة عالمية من [page:LoadingManager LoadingManager]، يستخدمها
معظم المحملات عندما لم يتم تحديد مدير مخصص. <br /><br />

هذا سيكون كافيًا لمعظم الأغراض، ولكن قد يكون هناك أوقات عندما
ترغب في مديري تحميل منفصلين للقول، القوام والنماذج.
</p>

<h2>مثال للكود</h2>

<p>
يمكنك تعيين [page:LoadingManager.onStart onStart]،
[page:LoadingManager.onLoad onLoad]، [page:LoadingManager.onProgress onProgress]،
[page:LoadingManager.onStart onError] وظائف لل
مدير. ستطبق هذه على أي محملات تستخدم
DefaultLoadingManager.<br /><br />

يجب عدم الخلط بين هذه الوظائف المسماة بشكل مشابه
من المحملات الفردية، لأنها مخصصة لعرض المعلومات
حول الحالة العامة للتحميل، بدلاً من التعامل مع البيانات
التي تم تحميلها.
</p>
<code>
THREE.DefaultLoadingManager.onStart = function ( url, itemsLoaded, itemsTotal ) {
console.log( 'Started loading file: ' + url + '.\nLoaded ' + itemsLoaded + ' of ' + itemsTotal + ' files.' );
};

THREE.DefaultLoadingManager.onLoad = function ( ) {
console.log( 'Loading Complete!');
};

THREE.DefaultLoadingManager.onProgress = function ( url, itemsLoaded, itemsTotal ) {
console.log( 'Loading file: ' + url + '.\nLoaded ' + itemsLoaded + ' of ' + itemsTotal + ' files.' );
};

THREE.DefaultLoadingManager.onError = function ( url ) {
console.log( 'There was an error loading ' + url );
};
</code>

<h2>الخصائص (Properties)</h2>
<p>
انظر صفحة [page:LoadingManager LoadingManager] لتفاصيل
الخصائص.
</p>

<h2>الطرق (Methods)</h2>
<p>
انظر صفحة [page:LoadingManager LoadingManager] لتفاصيل الطرق.
</p>

<h2>المصدر (Source)</h2>
<p>
[link:https://github.com/mrdoob/three.js/blob/master/src/loaders/LoadingManager.js src/loaders/LoadingManager.js]
</p>
</body>
</html>
236 changes: 236 additions & 0 deletions docs/api/ar/loaders/managers/LoadingManager.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,236 @@
<!DOCTYPE html>
<html lang="ar">
<head>
<meta charset="utf-8" />
<base href="../../../../" />
<script src="page.js"></script>
<link type="text/css" rel="stylesheet" href="page.css" />
</head>
<body class="rtl">
<h1>[name]</h1>

<p class="desc">
يتعامل ويتتبع البيانات المحملة والمعلقة. يتم إنشاء نسخة عالمية افتراضية
من هذه الفئة واستخدامها من قبل المحملات إذا لم يتم توفيرها
يدويًا - انظر [page:DefaultLoadingManager].<br /><br />

بشكل عام يجب أن يكون ذلك كافيًا، ولكن هناك أوقات يمكن أن تكون فيها
مفيدًا لديك محملات منفصلة - على سبيل المثال إذا كنت ترغب في عرض
شرائط تحميل منفصلة للأشياء والقوام.
</p>

<h2>مثال للكود</h2>

<p>
يوضح هذا المثال كيفية استخدام LoadingManager لتتبع التقدم
[page:OBJLoader].
</p>

<code>
const manager = new THREE.LoadingManager();
manager.onStart = function ( url, itemsLoaded, itemsTotal ) {
console.log( 'Started loading file: ' + url + '.\nLoaded ' + itemsLoaded + ' of ' + itemsTotal + ' files.' );
};

manager.onLoad = function ( ) {
console.log( 'Loading complete!');
};

manager.onProgress = function ( url, itemsLoaded, itemsTotal ) {
console.log( 'Loading file: ' + url + '.\nLoaded ' + itemsLoaded + ' of ' + itemsTotal + ' files.' );
};

manager.onError = function ( url ) {
console.log( 'There was an error loading ' + url );
};

const loader = new THREE.OBJLoader( manager );
loader.load( 'file.obj', function ( object ) {
//
} );
</code>

<p>
بالإضافة إلى مراقبة التقدم، يمكن استخدام LoadingManager ل
تجاوز عناوين URL للموارد أثناء التحميل. قد يكون ذلك مفيدًا للأصول
القادمة من أحداث السحب والإفلات، WebSockets، WebRTC، أو غيرها من واجهات برمجة التطبيقات. A
مثال يظهر كيفية تحميل نموذج في الذاكرة باستخدام عناوين URL لـ Blob أدناه.
</p>

<code>
// Blob or File objects created when dragging files into the webpage.
const blobs = {'fish.gltf': blob1, 'diffuse.png': blob2, 'normal.png': blob3};

const manager = new THREE.LoadingManager();

// Initialize loading manager with URL callback.
const objectURLs = [];
manager.setURLModifier( ( url ) => {

url = URL.createObjectURL( blobs[ url ] );
objectURLs.push( url );
return url;

} );

// Load as usual, then revoke the blob URLs.
const loader = new THREE.GLTFLoader( manager );
loader.load( 'fish.gltf', (gltf) => {

scene.add( gltf.scene );
objectURLs.forEach( ( url ) => URL.revokeObjectURL( url ) );

});
</code>

<h2>أمثلة (Examples)</h2>

<p>
[example:webgl_loader_obj WebGL / loader / obj]<br />
[example:webgl_postprocessing_outline WebGL / postprocesing / outline]
</p>

<h2>المنشئ (Constructor)</h2>
<h3>
[name]( [param:Function onLoad], [param:Function onProgress],
[param:Function onError] )
</h3>
<p>
[page:Function onLoad] — (اختياري) سيتم استدعاء هذه الدالة عندما يتم
جميع المحملات.<br />
[page:Function onProgress] — (اختياري) سيتم استدعاء هذه الدالة عند
اكتمال عنصر.<br />
[page:Function onError] — (اختياري) سيتم استدعاء هذه الدالة عندما يواجه المحمل
أخطاء. <br />

ينشئ جديدًا [name].
</p>

<h2>الخصائص (Properties)</h2>

<h3>[property:Function onStart]</h3>
<p>
سيتم استدعاء هذه الدالة عند بدء التحميل. المعاملات هي:<br />
[page:String url] — عنوان url للعنصر المحمل للتو.<br />
[page:Integer itemsLoaded] — عدد العناصر المحملة حتى الآن.<br />
[page:Integer itemsTotal] — إجمالي عدد العناصر التي يجب تحميلها.<br /><br />

بشكل افتراضي هذا غير محدد.
</p>

<h3>[property:Function onLoad]</h3>
<p>
سيتم استدعاء هذه الدالة عند اكتمال جميع التحميلات. بشكل افتراضي
هذا غير محدد، ما لم يتم تمريره في المنشئ.
</p>

<h3>[property:Function onProgress]</h3>
<p>
سيتم استدعاء هذه الدالة عند اكتمال عنصر. المعاملات
هي:<br />
[page:String url] — عنوان url للعنصر المحمل للتو.<br />
[page:Integer itemsLoaded] — عدد العناصر المحملة حتى الآن.<br />
[page:Integer itemsTotal] — إجمالي عدد العناصر التي يجب تحميلها.<br /><br />

بشكل افتراضي هذا غير محدد، ما لم يتم تمريره في المنشئ.
</p>

<h3>[property:Function onError]</h3>
<p>
سيتم استدعاء هذه الدالة عند حدوث خطأ في أي عنصر، مع الحجة:<br />
[page:String url] — عنوان url للعنصر الذي حدث فيه خطأ.<br /><br />

بشكل افتراضي هذا غير محدد، ما لم يتم تمريره في المنشئ.
</p>

<h2>الطرق (Methods)</h2>

<h3>
[method:this addHandler]( [param:Object regex], [param:Loader loader] )
</h3>
<p>
[page:Object regex] — تعبير منتظم.<br />
[page:Loader loader] — المحمل.
</p>

<p>
يسجل محملًا مع التعبير المنتظم المعطى. يمكن استخدامه ل
تحديد أي محمل يجب استخدامه لتحميل ملفات معينة. A
حالة استخدام نموذجية هي الكتابة فوق المحمل الافتراضي للقوام.
</p>
<code>
// add handler for TGA textures
manager.addHandler( /\.tga$/i, new TGALoader() );
</code>

<h3>[method:Loader getHandler]( [param:String file] )</h3>
<p>[page:String file] — مسار الملف.</p>

<p>
يمكن استخدامه لاسترجاع المحمل المسجل لمسار الملف المعطى.
</p>

<h3>[method:this removeHandler]( [param:Object regex] )</h3>
<p>[page:Object regex] — تعبير منتظم.</p>

<p>يزيل المحمل للتعبير المنتظم المعطى.</p>

<h3>[method:String resolveURL]( [param:String url] )</h3>
<p>
[page:String url] — عنوان url للتحميل<br /><br />

بالنظر إلى عنوان URL، يستخدم رد الاتصال بتعديل URL (إن وجد) ويعيد
عنوان URL المحلول. إذا لم يتم تعيين تعديل URL، فسيتم إرجاع العنوان الأصلي.
</p>

<h3>[method:this setURLModifier]( [param:Function callback] )</h3>
<p>
[page:Function callback] — رد اتصال تعديل URL. يتم استدعاؤه مع [page:String url] الحجة،
ويجب أن يعود [page:String resolvedURL].<br /><br />

إذا تم توفيره، سيتم تمرير رد الاتصال لكل عنوان URL للمورد قبل
يتم إرسال طلب. قد يعود الرد الاتصال بالعنوان الأصلي، أو عنوان URL جديد ل
تجاوز سلوك التحميل. يمكن استخدام هذا السلوك لتحميل الأصول من
ملفات .ZIP، واجهات برمجة التطبيقات السحب والإفلات، وعناوين URI البيانات.
</p>

<br />

<p>
<em>
ملاحظة: تم تصميم الطرق التالية ليتم استدعاؤها داخليًا من قبل
المحملات. يجب ألا تستدعيها مباشرة.
</em>
</p>

<h3>[method:undefined itemStart]( [param:String url] )</h3>
<p>
[page:String url] — عنوان url للتحميل<br /><br />

يجب استدعاء هذا من قبل أي محمل يستخدم المدير عندما يبدأ المحمل
تحميل عنوان url.
</p>

<h3>[method:undefined itemEnd]( [param:String url] )</h3>
<p>
[page:String url] — عنوان url المحمَّل<br /><br />

يجب استدعاء هذا من قبل أي محمل يستخدم المدير عند انتهاء المحمل
تحميل عنوان url.
</p>

<h3>[method:undefined itemError]( [param:String url] )</h3>
<p>
[page:String url] — عنوان url المحمَّل<br /><br />

يجب استدعاء هذا من قبل أي محمل يستخدم المدير عند حدوث خطأ في المحمل
تحميل عنوان url.
</p>

<h2>المصدر (Source)</h2>

<p>
[link:https://github.com/mrdoob/three.js/blob/master/src/loaders/LoadingManager.js src/loaders/LoadingManager.js]
</p>
</body>
</html>
Loading

0 comments on commit 7f1fc53

Please sign in to comment.