Pyrogenesis  13997
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Private Member Functions | Private Attributes | List of all members
SkipControlGroupsRequireFlagObstructionFilter Class Reference

Obstruction test filter that will test only against shapes that: More...

#include <ICmpObstructionManager.h>

Inheritance diagram for SkipControlGroupsRequireFlagObstructionFilter:
IObstructionTestFilter

Public Member Functions

 SkipControlGroupsRequireFlagObstructionFilter (bool exclude, entity_id_t group1, entity_id_t group2, flags_t mask)
 
 SkipControlGroupsRequireFlagObstructionFilter (entity_id_t group1, entity_id_t group2, flags_t mask)
 
virtual bool TestShape (tag_t tag, flags_t flags, entity_id_t group, entity_id_t group2) const
 
- Public Member Functions inherited from IObstructionTestFilter
virtual ~IObstructionTestFilter ()
 
virtual bool TestShape (tag_t tag, flags_t flags, entity_id_t group, entity_id_t group2) const =0
 Return true if the shape with the specified parameters should be tested for collisions. More...
 

Private Member Functions

void Init ()
 

Private Attributes

bool m_Exclude
 
entity_id_t m_Group
 
entity_id_t m_Group2
 
flags_t m_Mask
 

Additional Inherited Members

- Public Types inherited from IObstructionTestFilter
typedef
ICmpObstructionManager::tag_t 
tag_t
 
typedef
ICmpObstructionManager::flags_t 
flags_t
 

Detailed Description

Obstruction test filter that will test only against shapes that:

- are part of neither one of the specified control groups
- AND, depending on the value of the 'exclude' argument:
  - have at least one of the specified flags set.
  - OR have none of the specified flags set.

The first (primary) control group to reject shapes from must be specified and valid. The secondary control group to reject entities from may be set to INVALID_ENTITY to not use it.

This filter is useful to e.g. allow foundations within the same control group to be placed and constructed arbitrarily close together (e.g. for wall pieces that need to link up tightly).

Definition at line 368 of file ICmpObstructionManager.h.

Constructor & Destructor Documentation

SkipControlGroupsRequireFlagObstructionFilter::SkipControlGroupsRequireFlagObstructionFilter ( bool  exclude,
entity_id_t  group1,
entity_id_t  group2,
flags_t  mask 
)
inline

Definition at line 376 of file ICmpObstructionManager.h.

SkipControlGroupsRequireFlagObstructionFilter::SkipControlGroupsRequireFlagObstructionFilter ( entity_id_t  group1,
entity_id_t  group2,
flags_t  mask 
)
inline

Definition at line 382 of file ICmpObstructionManager.h.

Member Function Documentation

void SkipControlGroupsRequireFlagObstructionFilter::Init ( )
inlineprivate

Definition at line 404 of file ICmpObstructionManager.h.

virtual bool SkipControlGroupsRequireFlagObstructionFilter::TestShape ( tag_t  tag,
flags_t  flags,
entity_id_t  group,
entity_id_t  group2 
) const
inlinevirtual

Definition at line 388 of file ICmpObstructionManager.h.

Member Data Documentation

bool SkipControlGroupsRequireFlagObstructionFilter::m_Exclude
private

Definition at line 370 of file ICmpObstructionManager.h.

entity_id_t SkipControlGroupsRequireFlagObstructionFilter::m_Group
private

Definition at line 371 of file ICmpObstructionManager.h.

entity_id_t SkipControlGroupsRequireFlagObstructionFilter::m_Group2
private

Definition at line 372 of file ICmpObstructionManager.h.

flags_t SkipControlGroupsRequireFlagObstructionFilter::m_Mask
private

Definition at line 373 of file ICmpObstructionManager.h.


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