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