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

      • inputs: TwoManifoldsDto<ManifoldPointer>

        যে সলিডকে বাড়ানো হবে এবং যে সলিডকে সুইপ করা হবে

      Returns Promise<ManifoldPointer>

      বড় হওয়া সলিড

      const padded = await bitbybit.manifold.manifold.booleans.minkowskiSum({ manifold1: cube, manifold2: sphere });
      
    • দ্বিতীয় সলিডকে প্রথমটির পুরো পৃষ্ঠের উপর সুইপ করে এবং যা কিছুর মধ্য দিয়ে যায় তা কেটে ফেলে, ফলে প্রথম সলিডটি দ্বিতীয়টির আকৃতি অনুযায়ী সঙ্কুচিত হয় - মিনকভস্কি বিয়োগ, যে ক্ষয় মিনকভস্কি যোগকে বাতিল করে।

      Parameters

      • inputs: TwoManifoldsDto<ManifoldPointer>

        যে সলিডকে সঙ্কুচিত করা হবে এবং যে সলিডকে সুইপ করা হবে

      Returns Promise<ManifoldPointer>

      সঙ্কুচিত সলিড

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

    multiple

    • তালিকার প্রথমটি থেকে পরের প্রতিটি সলিড কেটে ফেলে।

      Parameters

      • inputs: ManifoldsDto<ManifoldPointer>

        সলিডগুলি, প্রথমটি হল যেটি থেকে কাটা হয়

      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

      • inputs: SplitManifoldsDto<ManifoldPointer>

        যে সলিডটি ভাগ করতে হবে এবং যে সলিড দিয়ে কাটতে হবে

      Returns Promise<ManifoldPointer[]>

      দুটি সলিড: কাটারের ভিতরের অংশ, তারপর তার বাইরের অংশ

      const [inside, outside] = await bitbybit.manifold.manifold.booleans.split({ manifoldToSplit: cube, manifoldCutter: sphere });
      
    • একটি সলিডকে একটি প্লেন দিয়ে কাটে এবং দুটি টুকরোই রাখে।

      প্লেনটি তার নর্মাল ও সেই নর্মাল বরাবর মূলবিন্দু থেকে তার দূরত্ব দিয়ে দেওয়া; প্রথম টুকরোটি নর্মাল যে পাশে নির্দেশ করে সেখানে থাকে, দ্বিতীয়টি অন্য পাশে।

      Parameters

      • inputs: SplitByPlaneDto<ManifoldPointer>

        সলিড, প্লেনের নর্মাল এবং মূলবিন্দু থেকে প্লেনের দূরত্ব

      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

      • inputs: SplitByPlaneOnOffsetsDto<ManifoldPointer>

        সলিড, প্লেনের নর্মাল এবং মূলবিন্দু থেকে প্লেনগুলির দূরত্ব

      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

      • inputs: TrimByPlaneDto<ManifoldPointer>

        সলিড, প্লেনের নর্মাল এবং মূলবিন্দু থেকে প্লেনের দূরত্ব

      Returns Promise<ManifoldPointer>

      নর্মালের দিকে সলিডের অংশ

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