User Tools

Site Tools


en:orx:reference:math:snippets

This is an old revision of the document!


Math: Code Snippets

OrxAABox

OrxMath

Convert an angle in degrees to a directional vector

orxFLOAT degRotation = 45;			
orxFLOAT radRotation = degRotation * orxMATH_KF_DEG_TO_RAD;

orxFLOAT x = orxMath_Cos(radRotation);
orxFLOAT y = orxMath_Sin(radRotation);
			
orxVECTOR directionVector = {x, y, 0};

OrxOBox

Function to return an object within a boxed area:

orxOBJECT* GetObjectInTheArea(){

    orxVECTOR objectPickVector;
    objectPickVector.fX = 878;
    objectPickVector.fY = 1185;
    objectPickVector.fZ = -1.0;
        
    orxOBOX objectBoxArea;
        
    orxVECTOR pivot = {0, 0, 0};
        
    orxVECTOR position;
    position.fX = 834;
    position.fY = 1150;
    position.fZ = -0.1;	
        
    orxVECTOR size;
    size.fX = 21;
    size.fY = 160;
    size.fZ = 1;	
        
    orxOBox_2DSet(&objectBoxArea, &position, &pivot, &size, 0);
        
    orxU32 objectGroupID = orxCamera_GetGroupID(pstCamera, 1);
        
    orxOBJECT *objectToFind = orxObject_BoxPick(&objectBoxArea, objectGroupID);
    return objectToFind;
        
}

OrxVector

Some ways to initialise an empty orxVECTOR.

Avoid this:

  orxVECTOR position;

Rather, do one of these:

  orxVECTOR position = {0, 0, 0};
  orxVECTOR position = orxVECTOR_0;
  orxVECTOR position;
  position.fX = 0;
  position.fY = 0;
  position.fZ = 0;

Uninitialised orxVECTORs can create unintended consequences in your game.

You can also do:

en/orx/reference/math/snippets.1496119845.txt.gz ยท Last modified: 2025/09/30 17:26 (13 days ago) (external edit)