Files
Client/Engine/Zalla3D Scene Class/Z3DBoundingVolumeObject.h
LGram16 e067522598 Initial commit: ROW Client source code
Game client codebase including:
- CharacterActionControl: Character and creature management
- GlobalScript: Network, items, skills, quests, utilities
- RYLClient: Main client application with GUI and event handlers
- Engine: 3D rendering engine (RYLGL)
- MemoryManager: Custom memory allocation
- Library: Third-party dependencies (DirectX, boost, etc.)
- Tools: Development utilities

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 16:24:34 +09:00

126 lines
2.0 KiB
C++

// Z3DBoundingVolumeObject.h: interface for the CZ3DBoundingVolumeObject class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_Z3DBOUNDINGVOLUMEOBJECT_H__A99E636C_CA7E_4258_A5CC_2794520D5ADE__INCLUDED_)
#define AFX_Z3DBOUNDINGVOLUMEOBJECT_H__A99E636C_CA7E_4258_A5CC_2794520D5ADE__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "Z3DRenderable.h"
#include "Z3DObject.h"
#include "Z3DCharacterModel.h"
#include "Z3DTYPES.h"
class CZ3DOBB : public CZ3DRenderable
{
public:
CZ3DOBB() : CZ3DRenderable(false)
{
}
virtual ~CZ3DOBB()
{
}
void SetStaticParameter( vector3& vExtent );
void SetDynamicParameter( vector3& vCenter, matrix& rDir );
bool CheckCollision( const CZ3DOBB& rOBB ) const;
void Render();
void SecondRender()
{
}
static void _SetRenderFlag( bool bRender )
{
ms_bRender = bRender;
}
//protected:
// non-dynamic
vector3 m_vExtent;
// need to be update dynamically
vector3 m_Center;
vector3 m_aAxis[3];
static D3DSLVERTEX ms_pOutlineVertex[8];
static WORD ms_pOutlineIndex[24];
static bool ms_bRender;
};
class CZ3DBoundingVolumeObject :
public CZ3DObject,
public CZ3DRenderable
{
public:
CZ3DBoundingVolumeObject();
virtual ~CZ3DBoundingVolumeObject();
CZ3DOBB& GetOBB()
{
return m_OBB;
}
void UpdateFrame();
void Render();
void SecondRender()
{
}
void SetChrModel( CZ3DCharacterModel* pChr )
{
m_rpChrModel = pChr;
}
void SetExtent( const vector3& v )
{
m_vExtent = v;
}
void SetScale( float f )
{
m_fScaleFactor = f;
}
static void _SetRenderFlag( bool bRender )
{
ms_bRender = bRender;
}
protected:
CZ3DOBB m_OBB;
CZ3DCharacterModel* m_rpChrModel;
float m_fScaleFactor;
vector3 m_vExtent;
static D3DSLVERTEX ms_pOutlineVertex[8];
static WORD ms_pOutlineIndex[24];
static bool ms_bRender;
};
#endif // !defined(AFX_Z3DBOUNDINGVOLUMEOBJECT_H__A99E636C_CA7E_4258_A5CC_2794520D5ADE__INCLUDED_)