vertex.h

来自「此代码主要用于汽车车身的优化」· C头文件 代码 · 共 53 行

H
53
字号
// Vertex.h: interface for the Vertex class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_VERTEX_H__E4680E1E_5098_426E_B473_AD0221AF9323__INCLUDED_)
#define AFX_VERTEX_H__E4680E1E_5098_426E_B473_AD0221AF9323__INCLUDED_

#include "Vector.h"	// Added by ClassView
#include <vector>
#include <set>
#include <functional>
using namespace std;

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "Mesh.h"
/*
class Face;
class Edge;*/
class Mesh;

class Vertex  
{
public:
	bool isOnBoundary();
	void reset();
	void dump() const;
//	typedef set< Mesh::EDGEPOS, less< Mesh::EDGEPOS > > ADJEDGESET; why ?! error!
	typedef vector<Mesh::EDGEPOS> ADJEDGESET;
	
	const Vector3d& getVertex3d() const;
	Vertex(double x, double y, double z, int idx = -1);
	Vertex(Vector3d &v, int idx = -1);
	virtual ~Vertex();
	int m_index;
	void addAdjEdge(Mesh::EDGEPOS ep);// { m_adjEdgePosSet.push_back(ep); };	// 用iterator的引用是否安全??
	inline void addAdjFace(int fi) { 	m_adjFaceIdxSet.push_back(fi); };

private:
	Vector3d m_v;
	int m_newVertexPointIdx;
	vector<int> m_adjFaceIdxSet;//邻接面索引设置
//	vector<int> m_adjFaceIdxSet;
	ADJEDGESET m_adjEdgePosSet;

	friend class Mesh;
//	friend void Mesh::calcCatmullSubdivVertex();
};

#endif // !defined(AFX_VERTEX_H__E4680E1E_5098_426E_B473_AD0221AF9323__INCLUDED_)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?