aboutsummaryrefslogtreecommitdiff
path: root/tool_src/BspLib/TriMapping.h
blob: 896b14733bbdcf838770a70838fa7356a93c648a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
//-----------------------------------------------------------------------------
//	BSPLIB HEADER: TriMapping.h
//
//  Copyright (c) 1997 by Markus Hadwiger
//  All Rights Reserved.
//-----------------------------------------------------------------------------

#ifndef _TRIMAPPING_H_
#define _TRIMAPPING_H_

// bsplib header files
#include "BspLibDefs.h"
#include "SystemIO.h"
#include "Vertex.h"


BSPLIB_NAMESPACE_BEGIN


// affine mapping specification for a triangle --------------------------------
//
class TriMapping : public virtual SystemIO {

	void		Error() const;

public:
	TriMapping() { }
	~TriMapping() { }

	Vertex2&	getMapXY( int indx ) { if ( indx > 2 ) Error(); return map_xy[ indx ]; }
	Vertex2&	getMapUV( int indx ) { if ( indx > 2 ) Error(); return map_uv[ indx ]; }

private:
	Vertex2		map_xy[ 3 ];	// mapping is specified via three
	Vertex2		map_uv[ 3 ];	// point correspondences
};


BSPLIB_NAMESPACE_END


#endif // _TRIMAPPING_H_