QAngle: Difference between revisions
		
		
		
		
		
		Jump to navigation
		Jump to search
		
				
		 Note:Z is clamped to +/-50 for player viewangles.
Note:Z is clamped to +/-50 for player viewangles.
		
	
| TomEdwards (talk | contribs) m (wth?) | TomEdwards (talk | contribs)   (redone; the diagram was wrong) | ||
| Line 1: | Line 1: | ||
| '''QAngle''' is a C++ class that represents a three-dimensional Euler angle. Each QAngle contains three [[vec_t]] ordinates:   | |||
| * X, for pitch (+down/-up) | |||
| | | * Y, for yaw (+left/-right) | ||
| * Z, for roll (+right/-left) | |||
| (45,10,0) means 45° down, 10° left and 0° roll. | |||
| {{note|Z is clamped to +/-50 for player viewangles.}} | |||
| == Declaration == | |||
|  QAngle angMyAngle = QAngle(45,10,0); | |||
| * The classname QAngle is case-sensitive. | |||
| * You could also assign to the X, Y and Z member variables separately. | |||
| * The prefix ang (or sometimes just a) identifies the variable as an angle. | |||
| == Converting to a vector == | == Converting to a vector == | ||
| As there is no specific [[Data Descriptions#DEFINE_FIELD|datadesc keyfield]] for angles, one chosen in Hammer will arrive as a [[vector]]. Its ordinates will represent degrees of rotation and not coordinates so it must be fixed up before use: | |||
| <source lang=cpp> | |||
| QAngle angMyAngle = QAngle(vecFromHammer.x, vecFromHammer.y, vecFromHammer.z); | |||
| // Conversion back to a vector, if required | |||
| Vector vecDirection; | |||
| AngleVectors(angMyAngle, &vecDirection);</source> | |||
| == See also == | |||
| < | * [[Wikipedia:Yaw, pitch, and roll]] | ||
| * [[getpos|getpos and setang]] | |||
| * [[Vector]] | |||
| * <code>[[AngleVectors()]]</code> and <code>[[VectorAngles()]]</code> | |||
| [[Category:Glossary]] | [[Category:Glossary]] | ||
| [[Category: | [[Category:Variables]] | ||
Revision as of 06:00, 7 June 2009
QAngle is a C++ class that represents a three-dimensional Euler angle. Each QAngle contains three vec_t ordinates:
- X, for pitch (+down/-up)
- Y, for yaw (+left/-right)
- Z, for roll (+right/-left)
(45,10,0) means 45° down, 10° left and 0° roll.
 Note:Z is clamped to +/-50 for player viewangles.
Note:Z is clamped to +/-50 for player viewangles.Declaration
QAngle angMyAngle = QAngle(45,10,0);
- The classname QAngle is case-sensitive.
- You could also assign to the X, Y and Z member variables separately.
- The prefix ang (or sometimes just a) identifies the variable as an angle.
Converting to a vector
As there is no specific datadesc keyfield for angles, one chosen in Hammer will arrive as a vector. Its ordinates will represent degrees of rotation and not coordinates so it must be fixed up before use:
QAngle angMyAngle = QAngle(vecFromHammer.x, vecFromHammer.y, vecFromHammer.z);
// Conversion back to a vector, if required
Vector vecDirection;
AngleVectors(angMyAngle, &vecDirection);