33 #include "../material.h" 90 virtual bool IntersectP(
const RAY& aRay,
float aMaxDistance )
const = 0;
122 return m_counter[static_cast<int>( aObjType )];
127 m_counter[static_cast<int>( aObjType )]++;
152 #endif // _OBJECT_3D_H_
float GetTransparency() const
float m_modelTransparency
void SetModelTransparency(float aModelTransparency)
A base class for any item which can be embedded within the BOARD container class, and therefore insta...
const SFVEC3F & GetCentroid() const
virtual bool Intersect(const RAY &aRay, HITINFO &aHitInfo) const =0
Manage a bounding box defined by two SFVEC3F min max points.
static OBJECT_3D_STATS * s_instance
BOARD_ITEM * GetBoardItem() const
unsigned int m_counter[static_cast< int >(OBJECT_3D_TYPE::MAX)]
float GetModelTransparency() const
OBJECT_3D(OBJECT_3D_TYPE aObjType)
Base material class that can be used to derive other material implementations.
OBJECT_3D_TYPE m_obj_type
void SetMaterial(const MATERIAL *aMaterial)
const void SetBoardItem(BOARD_ITEM *aBoardItem)
const OBJECT_3D_STATS & operator=(const OBJECT_3D_STATS &old)
static OBJECT_3D_STATS & Instance()
Implements a class for object statistics using Singleton pattern.
const MATERIAL * m_material
Bounding Box class definition.
virtual bool Intersects(const BBOX_3D &aBBox) const =0
virtual bool IntersectP(const RAY &aRay, float aMaxDistance) const =0
unsigned int GetCountOf(OBJECT_3D_TYPE aObjType) const
Stores the hit information of a ray with a point on the surface of a object.
virtual SFVEC3F GetDiffuseColor(const HITINFO &aHitInfo) const =0
const BBOX_3D & GetBBox() const
void AddOne(OBJECT_3D_TYPE aObjType)
const MATERIAL * GetMaterial() const