/*
** Copyright (C) 1999 Microsoft Corporation. All Rights Reserved.
**
** File: objectpointingatcondition.h
**
** Author:
**
** Description:
** Header file for the training library "objectpointingatcondition" interface.
**
** History:
*/
#ifndef _OBJECT_POINTING_AT_CONDITION_H_
#define _OBJECT_POINTING_AT_CONDITION_H_
#ifndef _CONDITION_H_
#include "Condition.h"
#endif //_CONDITION_H_
#ifndef _ABSTRACT_TARGET_H_
#include "AbstractTarget.h"
#endif //_ABSTRACT_TARGET_H_
namespace Training
{
//------------------------------------------------------------------------------
// class definitions
//------------------------------------------------------------------------------
class ObjectPointingAtCondition : public Condition
{
public:
/* void */ ObjectPointingAtCondition (ImodelIGC* pObject, ImodelIGC* pTarget);
/* void */ ObjectPointingAtCondition (ImodelIGC* pObject, ObjectType targetType, ObjectID targetID);
/* void */ ObjectPointingAtCondition (ImodelIGC* pObject, AbstractTarget* pTarget);
virtual /* void */ ~ObjectPointingAtCondition (void);
virtual bool Evaluate (void);
void SetVectorMask (const Vector& vectorMask);
void ClearVectorMask (void);
void SetMinimumAngle (float fMinimumAngle);
protected:
Vector MaskedVector (const Vector& vector);
protected:
AbstractTarget* m_pObject;
AbstractTarget* m_pTarget;
Vector m_vectorMask;
float m_fMinimumAngle;
};
//------------------------------------------------------------------------------
}
#endif //_OBJECT_POINTING_AT_CONDITION_H_