You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

79 lines
2.2 KiB
C

1 month ago
//////////////////////////////////////////////////////////////////////////////
//<2F>ļ<EFBFBD>: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>:
// ʵ<><CAB5><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾһ<CABE><D2BB><EFBFBD>󶨵<EFBFBD><F3B6A8B5><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD>ߵ<EFBFBD>L<EFBFBD><4C>ͬ
// <20><><EFBFBD>в<EFBFBD>ֵƽ<D6B5><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д: 2011-11-28
//
//
/////////////////////////////////////////////////////////////////////////////
#pragma once
#include "MxnFormat/AttachBase.h"
#include "MxnFormat/Texture.h"
#include "CurveEx.h"
namespace N3D
{
//Ϊ<>˽<EFBFBD>һ<EFBFBD><D2BB>ƽ<EFBFBD><C6BD>ͼ<EFBFBD><CDBC><EFBFBD>ղ<EFBFBD><D5B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɷ<EFBFBD>ʽ<EFBFBD><CABD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>ά<EFBFBD>ռ<EFBFBD>
class AFX_EXT_CLASS C3DMapTexture : public CAttachBase
{
public:
C3DMapTexture(void);
virtual ~C3DMapTexture(void);
void* GetSection() { return GetInput();} //ָ<><D6B8>һ<EFBFBD><D2BB>CXy<58><79><EFBFBD>󣬸ö<F3A3ACB8><C3B6><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>
void operator = (C3DMapTexture& cs);
virtual void Clear();
virtual void GetRange(CPoint3D& minPoint, CPoint3D& maxPoint);
virtual void Serialize(CArchive& ar, const short &ver);
virtual void Write(CFile &fw, const short& ver);
virtual int Read(CFile& fr, const short& ver);
//<2F><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD>ĸ߿<C4B8><DFBF><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD>񣬲<EFBFBD><F1A3ACB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɰ󶨵IJ<F3B6A8B5><C4B2><EFBFBD>
//Ϊ-1ʱ<31>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>ø߿<C3B8>
bool CreateTexture(CTexture& tx);
void SetTextureSize(CSize sz) { m_size = sz; }
CSize GetTextureSize(void) { return m_size; }
void LoadSection(LPCTSTR strFileName);
protected:
//Ҫ<><D2AA>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>X<EFBFBD><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD>m_pCoor<6F><72><EFBFBD><EFBFBD>l<EFBFBD><6C><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD>Ӷ<EFBFBD><D3B6><EFBFBD>ֵ<EFBFBD>ռ<EFBFBD><D5BC><EFBFBD><EFBFBD><EFBFBD>xy
CString m_strSectionName;
CSize m_size;
};
//<2F><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>ά<EFBFBD>ռ<EFBFBD>
class AFX_EXT_CLASS C3DCurveSection
: public CCurveEx
, public C3DMapTexture
{
public:
C3DCurveSection(void);
~C3DCurveSection(void);
virtual void Clear();
virtual void Serialize(CArchive& ar, const short &ver);
virtual void GetRange(CPoint3D& minPoint, CPoint3D& maxPoint);
virtual void Write(CFile &fw, const short& ver);
virtual int Read(CFile& fr, const short& ver);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3AC>Ҫ<EFBFBD>Ӷ<EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD>в<EFBFBD>ֵ<EFBFBD>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߽ڵ<DFBD><DAB5><EFBFBD><EFBFBD><EFBFBD>
int GetSectionCurve(CCurveEx* pc, bool bIsMaxZ0 = false);
//leftLocation rightLocation<6F><6E>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><58><D6B5><EFBFBD>ұ<EFBFBD><58><D6B5>Ϊ<EFBFBD><CEAA><EFBFBD>ߵ<EFBFBD>׮<EFBFBD><D7AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int GetSectionCurve(CCurveEx* pc, double leftLocation, double rightLocation);
void operator = (C3DCurveSection& cs);
bool GetTraceCoord(double xTraceCDP, dfPoint& pt); //<2F><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
};
}//namesapce
using namespace N3D;