Пример #1
0
void Pointer::genMotorPattern(bool randomize)
{
	beginPattern();
	
	for (int i = 0;i < 3;i++)
	{
		float deg = randomize ? ofRandomf() * 6 : (sysPtr->motor_pos[i] - 12800) * 6;
		addVertex(sin(deg), cos(deg), true);
	}
	
	float deg = randomize ? ofRandomf() * 6 : (sysPtr->motor_pos[0] - 12800) * 6;
	addVertex(sin(deg), cos(deg), false);

	endPattern();
}
Пример #2
0
/*
* It encodes if needed and folds
*/
StringBuffer encodeHeader(StringBuffer line){

    if(isAscii(line))
        return line;

    StringBuffer ret;
    StringBuffer tmp;
    StringBuffer startPattern("=?utf-8?Q?");
    StringBuffer endPattern("?=");
    StringBuffer foldingPattern("\r\n ");
    int foldingLen = 64;

    char* qp = 0;
    qp = qp_encode(line);

    tmp += startPattern;
    tmp += qp;
    delete [] qp;

    // folding action
    unsigned long p = 0;
    while(p + foldingLen < tmp.length()) {
        ret.append(tmp.substr(p, foldingLen));
        ret.append(foldingPattern);
        ret.append(startPattern);
        p += foldingLen;
    }

    if (ret.length() > 0)
        tmp.append(tmp.substr(p, tmp.length() - p));

    ret = tmp;
    ret.append(endPattern);

    return ret;

}
Пример #3
0
void Pointer::initPatterns()
{
	patterns.clear();

	genMotorPattern();
	return;
	
	bool en_CircleRandom	= true;
	bool en_TriangleRot		= true;
	bool en_LineRot			= true;
	bool en_circleTriangle	= false;
	bool en_grid			= false;
	bool en_grid_45			= true;

	
	if (en_grid_45)
	{
		beginPattern();
		for (int i = 0;i < 20;i++)
		{
			if (ofRandomuf() < 0.5)
			{
				ofVec2f ax = ofVec2f(ofRandomf(), -1.0);
				addVertex(ax.x, ax.y, true);
				addVertex(ax.y, ax.x, false);
			}else{
				ofVec2f ax = ofVec2f(1.0, ofRandomf());
				addVertex(ax.x, ax.y, true);
				addVertex(ax.y, ax.x, false);
			}
		}
		endPattern();
	}
	
	//grid
	if (en_grid)
	{
		beginPattern();
		for (int i = 0;i < 20;i++)
		{
			if (ofRandomuf() < 0.5)
			{
				float x = ofRandomf();
				addVertex(x, -1.0, true);
				addVertex(x,  1.0, false);
			}else{
				float y = ofRandomf();
				addVertex(-1.0, y, true);
				addVertex( 1.0, y, false);
			}
		}
		endPattern();
	}
	
	//circleTriangle
	if (en_circleTriangle)
	{
		beginPattern();
		for (int i = 0;i < 10;i++)
		{
			float deg = ofRandom(-PI * 2);
			addVertex(-1.0, 0.0, true);
			addVertex( 1.0, 0.0, true);
			addVertex(cos(deg), sin(deg), true);
			addVertex(-1.0, 0.0, true);
		}
		endPattern();
	}
	
	//Circle
	if (en_CircleRandom){
		beginPattern();
		float seed = ofRandomf();
		for (int i = 0;i <= 100;i++)
		{
			float deg = powf(2.0, ofNoise(i * 2.0 * PI + seed * 3941.341)) * 10.0;
			addVertex(cos(deg),
					  sin(deg), true);
		}
		endPattern();
	}
	
	//TriangleRot
	if (en_TriangleRot){
		beginPattern();
		float deg[3], rad[3];
		for (int i = 0;i < 3;i++)
		{
			deg[i] = ofRandomf() + i * 2;
			rad[i] = ofRandom(0.5,1.0);
		}
		for (int i = 0;i < 15;i++)
		{
			for (int j = 0;j < 3;j++)
			{
				addVertex(cos(deg[j]) * rad[j], sin(deg[j]) * rad[j], true);
			}
			addVertex(cos(deg[0]) * rad[0], sin(deg[0]) * rad[0], false);
			for (int j = 0;j < 3;j++) deg[j] += 0.05 * (i + 1);
		}
		endPattern();
	}
	
	//LineRot
	if (en_LineRot){
		beginPattern();
		float deg[3], rad[3];
		for (int i = 0;i < 2;i++)
		{
			deg[i] = ofRandomf() + i * 2;
			rad[i] = ofRandom(0.5,1.0);
		}
		for (int i = 0;i < 30;i++)
		{
			addVertex(cos(deg[0]) * rad[0], sin(deg[0]) * rad[0], true);
			addVertex(cos(deg[1]) * rad[1], sin(deg[1]) * rad[1], false);
			for (int j = 0;j < 2;j++) deg[j] += 0.1 + (i * 0.01);
		}
		endPattern();
	}
	
}