Exemplo n.º 1
0
	void initialize(unsigned int numVertices, unsigned int edgeSetSize, bool shouldGenerateEdges) {
		dfpair(stdout, "prm vertex set size", "%lu", numVertices);
		dfpair(stdout, "prm edge set size", "%lu", edgeSetSize);
		dfpair(stdout, "prm edge collision check dt", "%g", collisionCheckDT);

		startTime = clock();

		clock_t vertexStart = clock();

		generateVertices(numVertices);

		clock_t end = clock();
		double time = (double)(end-vertexStart) / CLOCKS_PER_SEC;
		dfpair(stdout, "prm vertex build time", "%g", time);

		if(shouldGenerateEdges) {
			clock_t edgeStart = clock();

			generateEdges(edgeSetSize);

			end = clock();

			time = (double)(end-edgeStart) / CLOCKS_PER_SEC;
			dfpair(stdout, "prm edge build time", "%g", time);
			dfpair(stdout, "prm collision checks", "%u", collisionChecks);


			time = (double)(end-startTime) / CLOCKS_PER_SEC;
			dfpair(stdout, "prm build time", "%g", time);
		}
	}
Exemplo n.º 2
0
void AGraph::Init()
{
	if (edgeMatrix.Num() == 0)
	{
		edgeMatrix.SetNum(MAX_SIZE);

		for (int32 i = 0; i < MAX_SIZE; i++)
		{
			for (int32 j = 0; j < MAX_SIZE; j++)
			{
				if (j == 0)
				{
					edgeMatrix[i].vertex.SetNum(MAX_SIZE);
				}

				edgeMatrix[i].vertex[j] = NONEDGE;
			}
		}
	}

	if (mark.Num() == 0)
	{
		mark.SetNum(MAX_SIZE);
	}

	generateEdges();
}
Exemplo n.º 3
0
QueryGraph* QueryGraphCompiler::compile(Query query) {
	q = query;
	relations = q.getRelations().size();
	qg = new QueryGraph(db, relations);
	generateNodes();
	addSelections();
	generateEdges();
	return qg;
}
Exemplo n.º 4
0
Graph::Graph(int width, int height) : width(width), height(height)
{
	// hardcoded for 4-connected lattice
	degree = 4;	// number of neighbors per node (pixel)
	degree2 = 2*(degree - 1); // number of neighbors of both nodes of an edge
	int edgec = (width*(height - 1)) + ((width - 1)*height);

	edges.resize(edgec);
	generateEdges();
}
Exemplo n.º 5
0
	void grow() {
		numVertices *= 2;
		generateVertices(numVertices);
		
		edges.clear();

		if(shouldGenerateEdges) {
			clock_t edgeStart = clock();

			generateEdges(edgeSetSize);

			dfpair(stdout, "prm edge build time", "%g", (double)(clock()-edgeStart) / CLOCKS_PER_SEC);
			dfpair(stdout, "prm collision checks", "%u", collisionChecks);
		}
	}
Exemplo n.º 6
0
	LazyPRMLite(const Workspace &workspace, const Agent &agent, unsigned int numVertices,
	            unsigned int edgeSetSize, double collisionCheckDT) :
		PRMLite<Workspace, Agent>(workspace, agent, numVertices, edgeSetSize, collisionCheckDT, false) {

		// startTime is set in the parent constructor call

		clock_t edgeStart = clock();

		generateEdges(edgeSetSize);

		clock_t end = clock();

		double time = (double)(end-edgeStart) / CLOCKS_PER_SEC;
		dfpair(stdout, "prm edge build time", "%g", time);

		time = (double)(end-this->startTime) / CLOCKS_PER_SEC;
		dfpair(stdout, "prm build time", "%g", time);
	}
Exemplo n.º 7
0
void WattsGenerator::generate() const
{
    generateNodes(INITIAL_N);
    generateEdges(INITIAL_N, INITIAL_BETA);
    parameterWindow->show();
}
Exemplo n.º 8
0
/** Generates a random graph **/
void Graph::generateRandomGraph()
{
	generateEdges();
	generateVertexList();
}
Exemplo n.º 9
0
void CAdjacent::calcAdjacent(ushort*idx,uint count){
	reset();
	generateEdges(idx,count);
	generateTriangles(idx,count);
}