123
This commit is contained in:
97
Editor/VegetationBrush.h
Normal file
97
Editor/VegetationBrush.h
Normal file
@@ -0,0 +1,97 @@
|
||||
////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Crytek Engine Source File.
|
||||
// Copyright (C), Crytek Studios, 2001.
|
||||
// -------------------------------------------------------------------------
|
||||
// File name: vegetationbrush.h
|
||||
// Version: v1.00
|
||||
// Created: 20/2/2002 by Timur.
|
||||
// Compilers: Visual C++.NET
|
||||
// Description:
|
||||
// -------------------------------------------------------------------------
|
||||
// History:
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef __vegetationbrush_h__
|
||||
#define __vegetationbrush_h__
|
||||
#pragma once
|
||||
|
||||
class CVegetationObject;
|
||||
|
||||
/*!
|
||||
CVegetation Brush.
|
||||
*/
|
||||
class CVegetationBrush : public CRefCountBase
|
||||
{
|
||||
public:
|
||||
CVegetationBrush();
|
||||
virtual ~CVegetationBrush();
|
||||
|
||||
void CopyFrom( CVegetationBrush *brush );
|
||||
|
||||
void SetName( const CString &name ) { m_name = name; };
|
||||
const CString& GetName() const { return m_name; };
|
||||
|
||||
virtual void Serialize( XmlNodeRef &node,bool bLoading );
|
||||
|
||||
int GetObjectCount() { return m_objects.size(); }
|
||||
CVegetationObject* GetObject( int i ) { return m_objects[i]; }
|
||||
|
||||
// Operators.
|
||||
void AddObject( CVegetationObject *obj );
|
||||
void RemoveObject( CVegetationObject *obj );
|
||||
void ClearObjects() { m_objects.clear(); }
|
||||
|
||||
void SetElevation( float min,float max ) { m_elevationMin = min; m_elevationMax = max; };
|
||||
void SetSlope( float min,float max ) { m_slopeMin = min; m_slopeMax = max; };
|
||||
void SetDensity( float dens ) { m_density = dens; };
|
||||
|
||||
//! Accessors.
|
||||
float GetElevationMin() const { return m_elevationMin; };
|
||||
float GetElevationMax() const { return m_elevationMax; };
|
||||
float GetSlopeMin() const { return m_slopeMin; };
|
||||
float GetSlopeMax() const { return m_slopeMax; };
|
||||
|
||||
float GetDensity() const { return m_density; };
|
||||
|
||||
//! Return true when the brush can paint on a location with the supplied parameters
|
||||
bool IsPlaceValid( float height,float slope ) const
|
||||
{
|
||||
if (height < m_elevationMin || height > m_elevationMax)
|
||||
return false;
|
||||
if (slope < m_slopeMin || slope > m_slopeMax)
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
void SetHidden( bool bHidden );
|
||||
bool IsHidden() const { return m_bHidden; };
|
||||
|
||||
void SetSelected( bool bSelected ) { m_bSelected = bSelected; }
|
||||
bool IsSelected() const { return m_bSelected; }
|
||||
|
||||
private:
|
||||
CString m_name;
|
||||
|
||||
typedef std::vector<CVegetationObject*> Objects;
|
||||
Objects m_objects;
|
||||
|
||||
// Elevation range (0 - 255)
|
||||
float m_elevationMin;
|
||||
float m_elevationMax;
|
||||
|
||||
// Slope range (0 - 255)
|
||||
float m_slopeMin;
|
||||
float m_slopeMax;
|
||||
|
||||
// Density from (0 - 100)
|
||||
float m_density;
|
||||
|
||||
bool m_bHidden;
|
||||
|
||||
//! True if Selected.
|
||||
bool m_bSelected;
|
||||
};
|
||||
|
||||
#endif // __vegetationbrush_h__
|
||||
Reference in New Issue
Block a user