Bitbybit Docs
    Preparing search index...

    Class ManifoldBooleans

    دمج مجسمات Manifold الصلبة: الدمج والقطع والتقاطع لاثنين أو كثير دفعة واحدة، وتقسيم مجسم صلب بمجسم صلب آخر أو بمستوى. لأن النواة تعمل على شبكات مثلثات مغلقة، فهذه سريعة وتعطي دائما نتيجة محكمة؛ وتعطي صيغتا الشكلين والأشكال الكثيرة النتائج نفسها وتوجدان للراحة. تعيد كل دالة مجسمات صلبة جديدة وتترك المدخلات كما هي.

    Index

    Constructors

    2 manifolds

    • يقطع المجسم الصلب الثاني من الأول، مطابق لـ subtract.

      Parameters

      • inputs: TwoManifoldsDto<ManifoldPointer>

        المجسم الصلب المراد القطع منه والمجسم الصلب المراد القطع به

      Returns Promise<ManifoldPointer>

      المجسم الصلب الأول ناقص الثاني

      const holed = await bitbybit.manifold.manifold.booleans.differenceTwo({ manifold1: cube, manifold2: sphere });
      
    • يدمج مجسمين صلبين في واحد، مطابق لـ add.

      Parameters

      Returns Promise<ManifoldPointer>

      المجسم الصلب المدمج

      const fused = await bitbybit.manifold.manifold.booleans.unionTwo({ manifold1: cube, manifold2: sphere });
      
    • يحتفظ فقط بالحجم الذي يشترك فيه مجسمان صلبان، مطابق لـ intersect.

      Parameters

      Returns Promise<ManifoldPointer>

      الحجم المشترك

      const common = await bitbybit.manifold.manifold.booleans.intersectionTwo({ manifold1: cube, manifold2: sphere });
      

    a to b

    • يقطع المجسم الصلب الثاني من الأول، تاركا ما يتبقى من الأول.

      Parameters

      • inputs: TwoManifoldsDto<ManifoldPointer>

        المجسم الصلب المراد القطع منه والمجسم الصلب المراد القطع به

      Returns Promise<ManifoldPointer>

      المجسم الصلب الأول ناقص الثاني

      const holed = await bitbybit.manifold.manifold.booleans.subtract({ manifold1: cube, manifold2: sphere });
      
    • يدمج مجسمين صلبين في مجسم صلب واحد مغلق ومحكم.

      Parameters

      Returns Promise<ManifoldPointer>

      المجسم الصلب المدمج

      const fused = await bitbybit.manifold.manifold.booleans.add({ manifold1: cube, manifold2: sphere });
      
    • يحتفظ فقط بالحجم الذي يشترك فيه مجسمان صلبان، محذفا كل شيء آخر.

      Parameters

      Returns Promise<ManifoldPointer>

      الحجم المشترك

      const common = await bitbybit.manifold.manifold.booleans.intersect({ manifold1: cube, manifold2: sphere });
      

    minkowski

    • يمسح المجسم الصلب الثاني على كامل سطح الأول ويدمج كل ما يمر عبره، فينمو المجسم الصلب الأول بشكل الثاني - مجموع مينكوفسكي، وهو الطريقة التي يُدوَّر بها مجسم صلب أو يُبطَّن بكرة.

      Parameters

      Returns Promise<ManifoldPointer>

      المجسم الصلب بعد النمو

      const padded = await bitbybit.manifold.manifold.booleans.minkowskiSum({ manifold1: cube, manifold2: sphere });
      
    • يمسح المجسم الصلب الثاني على كامل سطح الأول ويقتطع كل ما يمر عبره، فينكمش المجسم الصلب الأول بشكل الثاني - فرق مينكوفسكي، التآكل الذي يلغي مجموع مينكوفسكي.

      Parameters

      Returns Promise<ManifoldPointer>

      المجسم الصلب بعد الانكماش

      const eroded = await bitbybit.manifold.manifold.booleans.minkowskiDifference({ manifold1: cube, manifold2: sphere });
      

    multiple

    • يقطع كل مجسم صلب لاحق في القائمة من الأول.

      Parameters

      Returns Promise<ManifoldPointer>

      المجسم الصلب الأول ناقص جميع البقية

      const holed = await bitbybit.manifold.manifold.booleans.difference({ manifolds: [cube, sphere, cylinder] });
      
    • يدمج كل المجسمات الصلبة في قائمة في واحد.

      Parameters

      Returns Promise<ManifoldPointer>

      المجسم الصلب المدمج

      const fused = await bitbybit.manifold.manifold.booleans.union({ manifolds: [cube, sphere, cylinder] });
      
    • يحتفظ فقط بالحجم الذي تشترك فيه كل المجسمات الصلبة في قائمة.

      Parameters

      Returns Promise<ManifoldPointer>

      الحجم المشترك بينها جميعا

      const common = await bitbybit.manifold.manifold.booleans.intersection({ manifolds: [cube, sphere] });
      

    split

    • يقطع مجسما صلبا بمجسم صلب آخر ويحتفظ بالقطعتين: الجزء داخل القاطع والجزء خارجه.

      أرخص من تقاطع يتبعه طرح عندما يلزم الاثنان.

      Parameters

      Returns Promise<ManifoldPointer[]>

      مجسمان صلبان: الجزء داخل القاطع، ثم الجزء خارجه

      const [inside, outside] = await bitbybit.manifold.manifold.booleans.split({ manifoldToSplit: cube, manifoldCutter: sphere });
      
    • يقطع مجسما صلبا بمستوى ويحتفظ بالقطعتين.

      يُعطى المستوى بناظمه وبعده عن نقطة الأصل على طول ذلك الناظم؛ تقع القطعة الأولى على الجانب الذي يشير إليه الناظم، والثانية على الجانب الآخر.

      Parameters

      Returns Promise<ManifoldPointer[]>

      مجسمان صلبان: الجزء على جانب الناظم، ثم البقية

      const [top, bottom] = await bitbybit.manifold.manifold.booleans.splitByPlane({ manifold: cube, normal: [0, 0, 1], originOffset: 0.5 });
      
    • يقطع مجسما صلبا إلى ألواح بعدة مستويات متوازية، كلها بالناظم نفسه، على المسافات المعطاة من نقطة الأصل.

      يحتفظ كل قطع بالجزء الواقع على الجانب البعيد من الناظم كقطعة منتهية ويحمل الباقي إلى المسافة التالية، فينبغي أن تتزايد الإزاحات؛ n إزاحة تعطي n + 1 قطعة، مع حذف الفارغة.

      Parameters

      Returns Promise<ManifoldPointer[]>

      الشرائح، أكثر بواحدة من الإزاحات المعطاة

      const slabs = await bitbybit.manifold.manifold.booleans.splitByPlaneOnOffsets({ manifold: cube, normal: [0, 0, 1], originOffsets: [0.25, 0.5, 0.75] });
      

    trim

    • يقطع مجسما صلبا بمستوى ويحتفظ فقط بالجزء الواقع على الجانب الذي يشير إليه الناظم.

      يُعطى المستوى بناظمه وبعده عن نقطة الأصل على طول ذلك الناظم.

      Parameters

      Returns Promise<ManifoldPointer>

      جزء المجسم الصلب على جانب الناظم

      const half = await bitbybit.manifold.manifold.booleans.trimByPlane({ manifold: sphere, normal: [0, 0, 1], originOffset: 0 });