Basic utility functions

The last section of the chapter mentions some utility functions, which will be used in examples across the book, or just can be useful in your projects.

  • ofMap( v, v0, v1, out0, out1 ): This function performs linear interpolation of a float value v from the segment [v0, v1] to the segment [out0, out1]. Note, it does not control boundaries of v, and just uses the formula (v-v0)/(v1-v0)*(out1-out0) + out0. For controlling boundaries, call this function with the last optional parameter set to true: ofMap( v, v0, v1, out0, out1, true ). Then the result will be clamped to [out0, out1].
  • ofClamp( v, v0, v1 ): This function clamps the float value v to the segment [v0, v1] that is returns min( max( v, v0 ), v1 ).
  • ofRandom( a, b ): This function generates a pseudo-random number in the segment [a, b]. (Actually, it returns a value always less than that of b).
  • ofNoise ( x ), ofNoise( x, y ), ofNoise( x, y, z ), and ofNoise( x, y, z, w ):These functions return Perlin noise value, see the details in Appendix B, Perlin Noise.
  • ofToString( v ): This function converts the int or float value v into string-returning value
  • ofToInt( s ) and ofToFloat( s ): These functions convert the string s into int or float returning values respectively.
  • ofGetWidth() and ofGetHeight(): These functions return the current width and height of the project's screen, in pixels.
  • ofGetElapsedTimef(): This function returns the value of seconds lapsed from the project's start. This is a float value, measured with millisecond accuracy. For example, returned value 123.4 means 123 seconds and 400 milliseconds.
  • ofShowCursor() and ofHideCursor(): These functions show and hide the mouse cursor.

For printing information into a console window, you can use the standard cout stream. For example, for printing time from the project's start, use the following code:

cout << "Time: " << ofGetElapsedTimef() << endl;

Here, endl is a standard constant, which means starting a new line in the console.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset