Files
Work/proto/source/TERRAIN.HPP
2024-08-07 09:16:27 -04:00

81 lines
1.6 KiB
C++

#ifndef _PROTO_MAPTERRAIN_HPP_
#define _PROTO_MAPTERRAIN_HPP_
#ifndef _PROTO_ANGLES_HPP_
#include <proto/angles.hpp>
#endif
#ifndef _PROTO_TRIGTABLE_HPP_
#include <proto/trig.hpp>
#endif
#ifndef _PROTO_GEOMETRY_HPP_
#include <proto/geom.hpp>
#endif
#ifndef _COMMON_SMARTPOINTER_HPP_
#include <common/pointer.hpp>
#endif
#ifndef _COMMON_CALLBACK_HPP_
#include <common/callback.hpp>
#endif
#ifndef _COMMON_BITMAP_HPP_
#include <common/bitmap.hpp>
#endif
class GUIWindow;
class Display;
class ViewPoint;
class MapTerrain
{
public:
MapTerrain(SmartPointer<GUIWindow> &parentWindow,const String &strColorBitmap,const String &strHeightBitmap);
MapTerrain(void);
virtual ~MapTerrain();
void mapTerrain(Display &display,ViewPoint &viewPoint);
Angles &angles(void);
TrigTable &trigTable(void);
Geometry &geometry(void);
Bitmap &colorBitmap(void);
Bitmap &heightBitmap(void);
private:
MapTerrain(const MapTerrain &mapTerrain);
MapTerrain &operator=(const MapTerrain &mapTerrain);
CallbackData::ReturnType sizeHandler(CallbackData &someCallbackData);
Callback<MapTerrain> mSizeHandler;
SmartPointer<GUIWindow> mParentWindow;
Bitmap mColorBitmap;
Bitmap mHeightBitmap;
Angles mAngles;
Geometry mGeometry;
TrigTable mTrigTable;
};
inline
Angles &MapTerrain::angles(void)
{
return mAngles;
}
inline
TrigTable &MapTerrain::trigTable(void)
{
return mTrigTable;
}
inline
Geometry &MapTerrain::geometry(void)
{
return mGeometry;
}
inline
Bitmap &MapTerrain::colorBitmap(void)
{
return mColorBitmap;
}
inline
Bitmap &MapTerrain::heightBitmap(void)
{
return mHeightBitmap;
}
#endif