void CinematicGrid::AddQuadUVs(Vec2i depc, Vec2i tc, Vec2i bitmappos, Vec2i bitmapw, Texture2D * tex) { size_t matIdx = AddMaterial(tex); m_mats[matIdx].bitmapdep = bitmappos; m_mats[matIdx].bitmap = bitmapw; m_mats[matIdx].nbvertexs = (tc.x + 1) * (tc.y + 1); float v = 0.f; float du = 0.999999f / (float)tc.x; float dv = 0.999999f / (float)tc.y; tc.y++; tc.x++; int tcyy = tc.y; int depcyy = depc.y; while(tcyy--) { float u = 0.f; int depcxx = depc.x; int tcxx = tc.x; while(tcxx--) { int i0, i1, i2, i3; GetIndNumCube(depcxx, depcyy, &i0, &i1, &i2, &i3); //uvs C_UV cuv; cuv.indvertex = i0; cuv.uv.x = u; cuv.uv.y = v; m_uvs.push_back(cuv); depcxx++; u += du; } depcyy++; v += dv; } tc.x--; tc.y--; while(tc.y--) { int depcxx = depc.x; int tcxx = tc.x; while(tcxx--) { int i0, i1, i2, i3; GetIndNumCube(depcxx, depc.y, &i0, &i1, &i2, &i3); AddPoly(matIdx, i0, i1, i2); AddPoly(matIdx, i1, i2, i3); depcxx++; } depc.y++; } }
int main() { Term t1[] = {6,-3,-1,0,4.4,2,-1.2,9}; Term t2[] = {6,-3,-5.4,2,1,2,-7.8,15}; Polynomial p1,p2; CreatePoly(p1, t1, 4); Traverse(p1,print); CreatePoly(p2, t2, 4); Traverse(p2,print); AddPoly(p1,p2); Traverse(p1,print); return 0; }
bool Mutate() { bool dirty = false; if (DoMutate(AddPolyMutation)) dirty |= AddPoly(); if (DoMutate(DelPolyMutation)) dirty |= DelPoly(); if (DoMutate(MovePolyMutation)) dirty |= MovePoly(); for (PolyIt it = poly_.begin(); it != poly_.end(); ++it) dirty |= it->Mutate(); return dirty; }
int main(void) { struct Node p1,p2,*tmp1,*tmp2; Poly p_sum; p1.coefficient = p1.coefficient = 0; /* initilize Poly header with zero */ p2.exp = p2.exp = 0; tmp1 = (Poly)malloc(sizeof(struct Node)); tmp2 = (Poly)malloc(sizeof(struct Node)); p1.next = tmp1; p2.next = tmp2; printf("please creat Poly 1(end with 0 ):\n"); do { printf("coefficinet = :\n"); scanf("%d",&tmp1 -> coefficient); printf("exp = :\n"); scanf("%d",&tmp1 -> exp); tmp1 -> next = (Poly)malloc(sizeof(struct Node)); tmp1 = tmp1 -> next; tmp1 -> next = NULL; } while (tmp1 -> exp != 0); printf("please creat Poly 2(end with 0):\n"); do { printf("coefficient = :\n"); scanf("%d",&tmp2 -> coefficient); printf("exp = :\n"); scanf("%d",&tmp2 -> exp); tmp2 -> next = (Poly)malloc(sizeof(struct Node)); tmp2 = tmp2 -> next; tmp2 -> next = NULL; } while (tmp2 -> exp != 0); p_sum = AddPoly(&p1,&p2); printf("%p\n",p_sum); Retrive(p_sum); return 0; }
void CXMLParser::TraverseGetInformation(TiXmlElement* root) { TiXmlElement *childroot=root->FirstChildElement(); while(childroot!=NULL) { if(strcmp(childroot->Value(),"VertexBuffer")==0) { char *pointStr=(char *)childroot->FirstChildElement()->GetText(); AddPoint(pointStr); char *normalStr=(char *)childroot->FirstChildElement()->NextSiblingElement()->GetText(); AddNormals(normalStr); } else if(strcmp(childroot->Value(),"Faces")==0) { TiXmlElement *triangleElem=childroot->FirstChildElement(); while (triangleElem!=NULL) { if(strcmp(triangleElem->Value(),"Face")==0) { TiXmlAttribute *triangleAttribute=triangleElem->FirstAttribute(); while(triangleAttribute!=NULL) { if(strcmp(triangleAttribute->Name(),"triangles")==0) { char *triangleStr=(char *)triangleAttribute->Value(); if(IsTriangleStrWithSplit(triangleStr)==true) { AddTriangle(triangleStr); } else { AddIdTriangle(triangleStr); } } if(strcmp(triangleAttribute->Name(),"strips")==0) { char *stripStr=(char *)triangleAttribute->Value(); AddStrips(stripStr); } if(strcmp(triangleAttribute->Name(),"fans")==0) { char *fanStr=(char *)triangleAttribute->Value(); AddFans(fanStr); } triangleAttribute=triangleAttribute->Next(); } } triangleElem=triangleElem->NextSiblingElement(); } } else if(strcmp(childroot->Value(),"Edges")==0) { TiXmlElement *polyElem=childroot->FirstChildElement(); while(polyElem!=NULL) { if(strcmp(polyElem->Value(),"Polyline")==0) { char *polyStr=(char *)polyElem->FirstAttribute()->Value(); AddPoly(polyStr); } polyElem=polyElem->NextSiblingElement(); } } /*else if (strcmp(childroot->Value(),"PolygonalLOD")==0) { TiXmlElement *triangleElem=childroot->FirstChildElement()->FirstChildElement(); while (triangleElem!=NULL) { if(strcmp(triangleElem->Value(),"Face")==0) { TiXmlAttribute *triangleAttribute=triangleElem->FirstAttribute(); while(triangleAttribute!=NULL) { if(strcmp(triangleAttribute->Name(),"triangles")==0) { char *triangleStr=(char *)triangleAttribute->Value(); if(IsTriangleStrWithSplit(triangleStr)==true) { AddTriangle(triangleStr); } else { AddIdTriangle(triangleStr); } } if(strcmp(triangleAttribute->Name(),"strips")==0) { char *stripStr=(char *)triangleAttribute->Value(); AddStrips(stripStr); } if(strcmp(triangleAttribute->Name(),"fans")==0) { char *fanStr=(char *)triangleAttribute->Value(); AddFans(fanStr); } triangleAttribute=triangleAttribute->Next(); } } triangleElem=triangleElem->NextSiblingElement(); } }*/ childroot=childroot->NextSiblingElement(); } }