cocos2d iphone functions for vectors

Language: Objective-C

#define PI 3.14159265358979

static inline CGPoint flipY(const CGPoint v) {
	return ccp(v.x, v.y * -1);
}

static inline CGPoint flipX(const CGPoint v) {
	return ccp(v.x * -1, v.y);
}

static inline float decByFactor(const float value, const float limit, const float factor) {

	if (factor > 0) {
		return value;
	} else {
		float rv = value * factor;
		if (rv < limit) 
			rv = limit;
		return rv;
	}
	
}

static inline float incByFactor(const float value, const float limit, const float factor) {
	
	if (factor < 0) {
		return value;
	} else {
		float rv = value * factor;
		if (rv < limit) 
			rv = limit;
		return rv;
	}
	
}

static inline float plotSine(const float degrees, const float min, const float max) {
	float radians = degrees * PI / 180;
	float offset = (max - min) / 2;
	return sin(radians) * offset + (min + offset);
	
}

static inline CGPoint plotCircle(const float degrees, const float radius) {								   
	float radians = degrees * PI / 180;
	return CGPointMake(sin(radians) * radius, cos(radians) * radius);
}
Reveal More
Added almost 2 years ago by Gers_10-10-09_043_normal arsydotorg

Refactorings

Re: cocos2d iphone functions for vectors

Refactoring of: cocos2d iphone functions for vectors

Language: Objective-C

#define PI 3.14159265358979

static inline CGPoint flipY(const CGPoint v) {
	return ccp(v.x, v.y * -1);
}

static inline CGPoint flipX(const CGPoint v) {
	return ccp(v.x * -1, v.y);
}

static inline float decByFactor(const float value, const float limit, const float factor) {

	float rv = value * factor;
	if (rv < limit) 
		rv = limit;
	return rv;
	
}

static inline float incByFactor(const float value, const float limit, const float factor) {

	float rv = value * factor;
	if (rv > limit) 
		rv = limit;
	return rv;
	
}
static inline float plotSine(const float degrees, const float min, const float max) {
	float radians = degrees * PI / 180;
	float offset = (max - min) / 2;
	return sin(radians) * offset + (min + offset);
	
}

static inline CGPoint plotCircle(const float degrees, const float radius) {								   
	float radians = degrees * PI / 180;
	return CGPointMake(sin(radians) * radius, cos(radians) * radius);
}
Reveal More
Added almost 2 years ago by Gers_10-10-09_043_normal arsydotorg