Pyrogenesis trunk
Public Member Functions | Private Attributes | List of all members
SkipTagRequireControlGroupsAndFlagObstructionFilter Class Reference

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

#include <ICmpObstructionManager.h>

Inheritance diagram for SkipTagRequireControlGroupsAndFlagObstructionFilter:
Inheritance graph
[legend]
Collaboration diagram for SkipTagRequireControlGroupsAndFlagObstructionFilter:
Collaboration graph
[legend]

Public Member Functions

 SkipTagRequireControlGroupsAndFlagObstructionFilter (tag_t tag, 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
 Return true if the shape with the specified parameters should be tested for collisions. More...
 
- 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 Attributes

tag_t m_Tag
 
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:

The first (primary) control group to include shapes from must be specified and valid.

This filter is useful for preventing entities with identical control groups from colliding e.g. building a new wall segment on top of an existing wall)

Todo:
This filter needs test cases.

Constructor & Destructor Documentation

◆ SkipTagRequireControlGroupsAndFlagObstructionFilter()

SkipTagRequireControlGroupsAndFlagObstructionFilter::SkipTagRequireControlGroupsAndFlagObstructionFilter ( tag_t  tag,
entity_id_t  group1,
entity_id_t  group2,
flags_t  mask 
)
inline

Member Function Documentation

◆ TestShape()

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

Return true if the shape with the specified parameters should be tested for collisions.

This is called for all shapes that would collide, and also for some that wouldn't.

Parameters
tagtag of shape being tested
flagsset of EFlags for the shape
groupthe control group of the shape (typically the shape's unit, or the unit's formation controller, or 0)
group2an optional secondary control group of the shape, or INVALID_ENTITY if none specified. Currently exists only for static shapes.

Implements IObstructionTestFilter.

Member Data Documentation

◆ m_Group

entity_id_t SkipTagRequireControlGroupsAndFlagObstructionFilter::m_Group
private

◆ m_Group2

entity_id_t SkipTagRequireControlGroupsAndFlagObstructionFilter::m_Group2
private

◆ m_Mask

flags_t SkipTagRequireControlGroupsAndFlagObstructionFilter::m_Mask
private

◆ m_Tag

tag_t SkipTagRequireControlGroupsAndFlagObstructionFilter::m_Tag
private

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