※ 자신이 만든 클래스에서 다른 자료형과 호환되게 하기에 유용!
operator 변환타입()
{
/* code */
return 변환타입;
}
예시)
D3DXCOLOR -> DWORD 변환
D3DXCOLOR foo( 255.f, 123.f, 456.f, 255.f );
DWORD color = foo;
<d3dx9math.h>
typedef struct D3DXCOLOR
{
...
// casting
...
}
<dxdx9math.inl>
D3DXINLINE
D3DXCOLOR::operator DWORD () const
{
DWORD dwR = r >= 1.0f ? 0xff : r <= 0.0f ? 0x00 : (DWORD) (r * 255.0f + 0.5f);
DWORD dwG = g >= 1.0f ? 0xff : g <= 0.0f ? 0x00 : (DWORD) (g * 255.0f + 0.5f);
DWORD dwB = b >= 1.0f ? 0xff : b <= 0.0f ? 0x00 : (DWORD) (b * 255.0f + 0.5f);
DWORD dwA = a >= 1.0f ? 0xff : a <= 0.0f ? 0x00 : (DWORD) (a * 255.0f + 0.5f);
return (dwA << 24) | (dwR << 16) | (dwG << 8) | dwB;
}
'비공개' 카테고리의 다른 글
log 파일 실시간 검사 Utility (0) | 2011.11.30 |
---|---|
Tool 배포시 유의점 (0) | 2011.10.13 |
Direct3D Device Lost (0) | 2011.09.09 |
memset 무심결에 잘 모르고 썻던 부분 (0) | 2011.08.16 |
UNICODE와 MBCS 호환성 및 사용법 (0) | 2011.08.11 |