16 #ifndef REFLECTION_SELECTOR 17 #define REFLECTION_SELECTOR 89 std::vector<boost::shared_ptr<Event> >* tabEvent = r->getEvents();
90 for(
unsigned int i=0;i<tabEvent->size();i++){
145 std::vector<boost::shared_ptr<Event> >* tabEvent = r->getEvents();
146 for(
unsigned int i=0;i<tabEvent->size();i++){
193 return typeid(
this).
name();
Shape * getShape()
Return the primitive of the impact.
virtual SELECTOR_RESPOND canBeInserted(T *r, unsigned long long &replace)
Check if the ray respects the criteria of this Selector and return a SELECTOR_RESPOND.
bool isGroundAccepted()
Return true if ground reflection is accepted.
: To disable the rays which have a number of reflection events greater than a given threshold or refl...
void setMaximumReflectionOrder(int _maxReflectionOrder)
Set the reflection maximal number.
bool deletable
Flag to know if the selector may be deleted or not.
ReflectionSelector(int _maxReflectionOrder=1, bool _acceptGround=false, OPERATOR _op=LESS_OR_EQUAL)
Constructor.
void setGroundAccepted(bool _acceptGround)
Set flag acceptGround.
Base class for Selector (used to keep or disable rays according different criterias) ...
virtual Selector< T > * Copy()
Copy Selector.
OPERATOR getOperator()
Get the OPERATOR of this Selector.
bool isSol() const
Get/Set the flag _isSol (ground or not)
virtual void insert(T *r)
Select the ray.
void setOperator(OPERATOR _op)
Set the OPERATOR of this Selector.
Specular reflection class Event.
virtual bool insertWithTest(T *r)
Select the ray if it respects the criteria of this Selector.
virtual const char * getSelectorName()
Return the class type of the selector.
void setIsDeletable(bool _isDeletable)
Set deletable flag.
int getMaximumReflectionOrder()
Get the reflection maximal number.
OPERATOR op
OPERATOR being used for the criteria (by default, LESS_OR_EQUAL)
bool acceptGround
Flag to accept or not the reflection on the ground.
int maxReflectionOrder
Reflection maximal number for this Selector criteria.