00001 /* 00002 File: Transform.h 00003 00004 Function: Provides transformation constructors. 00005 00006 Author(s): Andrew Willmott 00007 00008 Copyright: (c) 1995-2000, Andrew Willmott 00009 */ 00010 00011 00012 inline TMat2 VL_M_SUFF(Rot2)(Real theta) 00013 { TMat2 result; result.MakeRot(theta); return(result); } 00014 inline TMat2 VL_M_SUFF(Scale2)(const TVec2 &s) 00015 { TMat2 result; result.MakeScale(s); return(result); } 00016 00017 inline TMat3 VL_M_SUFF(Rot3)(const TVec3 &axis, Real theta) 00018 { TMat3 result; result.MakeRot(axis, theta); return(result); } 00019 inline TMat3 VL_M_SUFF(Rot3)(const TVec4 &q) 00020 { TMat3 result; result.MakeRot(q); return(result); } 00021 inline TMat3 VL_M_SUFF(Scale3)(const TVec3 &s) 00022 { TMat3 result; result.MakeScale(s); return(result); } 00023 inline TMat3 VL_M_SUFF(HRot3)(Real theta) 00024 { TMat3 result; result.MakeHRot(theta); return(result); } 00025 inline TMat3 VL_M_SUFF(HScale3)(const TVec2 &s) 00026 { TMat3 result; result.MakeHScale(s); return(result); } 00027 inline TMat3 VL_M_SUFF(HTrans3)(const TVec2 &t) 00028 { TMat3 result; result.MakeHTrans(t); return(result); } 00029 00030 inline TMat4 VL_M_SUFF(HRot4)(const TVec3 &axis, Real theta) 00031 { TMat4 result; result.MakeHRot(axis, theta); return(result); } 00032 inline TMat4 VL_M_SUFF(HRot4)(const TVec4 &q) 00033 { TMat4 result; result.MakeHRot(q); return(result); } 00034 inline TMat4 VL_M_SUFF(HScale4)(const TVec3 &s) 00035 { TMat4 result; result.MakeHScale(s); return(result); } 00036 inline TMat4 VL_M_SUFF(HTrans4)(const TVec3 &t) 00037 { TMat4 result; result.MakeHTrans(t); return(result); }