#include "..\Atlantis.h"
class AtlantisPanel : public BasicPanel<Atlantis>
{
public:
AtlantisPanel(Atlantis* _sts, const std::string& _name) : BasicPanel(_sts, _name) {};
virtual ~AtlantisPanel() {};
Atlantis* STS() const { return V(); };
[COLOR="SeaGreen"]void DefineMesh( const char* meshname )
{
const VECTOR3 panelofs = _V( 0.0, 0.0, 0.0 );
DefineMesh( meshname, panelofs );
return;
}
void DefineMesh( const char* meshname, const VECTOR3& panelofs )
{
hMesh = oapiLoadMeshGlobal( meshname );
mesh_idx = (UINT)-1;
this->panelofs = panelofs;
bHasOwnVCMesh = true;
return;
}
void AddMeshes( const VECTOR3 &ofs )
{
if (mesh_idx == (UINT)-1)
{
VECTOR3 _ofs = ofs + panelofs;
mesh_idx = STS()->AddMesh( hMesh, &_ofs );
STS()->SetMeshVisibilityMode( mesh_idx, MESHVIS_VC );
}
return;
}
void SetMeshVisibility( bool visible )
{
if (mesh_idx != (UINT)-1)
{
if (visible) STS()->SetMeshVisibilityMode( mesh_idx, MESHVIS_VC );
else STS()->SetMeshVisibilityMode( mesh_idx, MESHVIS_NEVER );
}
return;
}[/COLOR]
};