#pragma once
#include "mgGL/VBOByScreen.h"

class VBObyAnchorPt;

class CoordinateArrow :
	public mgVBOByScreen
{
public:

	///construct given z(in NDC).
	CoordinateArrow(float z=-1.f);
	virtual ~CoordinateArrow(void);


	///make coordinate arrows.
	///data[] are all of screen coordinates.
	///([0],[0]) is the origin to display,([1],[2]) is x axis vector from the origin,
	///([3],[4]) is y, and ([5],[6]) is z.
	///From the coordinate ([0],[0]) to ([0]+[1],[0]+[2]) is the coordinate line.
	void makeCoordinateArrow(const int data[7]);
	void makeCoordinateArrow(const int data[7], LPCTSTR axis1, LPCTSTR axis2);
	void updateCoordinateArrow(const int data[7]);

private:
	mgVBOLeaf* m_arrows;
	VBObyAnchorPt* m_xAxisLabel;
	VBObyAnchorPt* m_yAxisLabel;
	VBObyAnchorPt* m_zAxisLabel;
};

