OpenSiv3D  v0.6.5
C++20 framework for creative coding
s3d::P2Filter Struct Reference

部品 (P2Shape) の干渉フィルタ @reamark 部品 (P2Shape) にカテゴリビットフラグを指定し、特定のビットフラグを持つ部品と干渉しないようにできます。 More...

#include <P2Filter.hpp>

Public Attributes

uint16 categoryBits = 0b0000'0000'0000'0001
 自身が所属するカテゴリーを表すビットフラグです。 More...
 
uint16 maskBits = 0b1111'1111'1111'1111
 物理的に干渉する相手のカテゴリーを表すビットフラグです。 More...
 
int16 groupIndex = 0
 グループインデックス More...
 

Detailed Description

部品 (P2Shape) の干渉フィルタ @reamark 部品 (P2Shape) にカテゴリビットフラグを指定し、特定のビットフラグを持つ部品と干渉しないようにできます。

Remarks
部品 A, B について ((A.maskBits & B.categoryBits) != 0) && ((B.maskBits & A.categoryBits) != 0) のときのみ干渉が発生します。

Member Data Documentation

◆ categoryBits

uint16 s3d::P2Filter::categoryBits = 0b0000'0000'0000'0001

自身が所属するカテゴリーを表すビットフラグです。

◆ groupIndex

int16 s3d::P2Filter::groupIndex = 0

グループインデックス

Remarks
2 つの部品のうちいずれかのグループインデックスが 0 の場合、categoryBits と maskBits によって干渉の有無が決まります。
2 つの部品の両方のグループインデックスが 非 0 で、互いに異なる場合、categoryBits と maskBits によって干渉の有無が決まります。
2 つの部品のグループインデックスが 1 以上で、互いに等しい場合、必ず干渉します。
2 つの部品のグループインデックスが -1 以下で、互いに等しい場合、必ず干渉しません。

◆ maskBits

uint16 s3d::P2Filter::maskBits = 0b1111'1111'1111'1111

物理的に干渉する相手のカテゴリーを表すビットフラグです。


The documentation for this struct was generated from the following file: