CSG JS CPP Library Polygon Simplification

The CSGJS-CPP is a C++ port of the constructive solid geometry javascript library, available here: [url removed, login to view]

I require a few functions to be added to this library:

1) A function to accept non-triangular faces.

2) A function to merge coplanar adjacent faces.

3) A function to export a list of faces (some non-triangular).

All functions must work robustly with the current CSGJS-CPP library.

The above requirements, in more detail:

1) A function to allow non-triangular (possibly concave) polygons to be operated upon. Currently it only accepts triangular faces, and it can process convex polygons as well, but doesn't have a suitable function exported to accept them. It would be acceptable to break concave polygons into a number of convex polygons.

The function prototype will be:

csgjs_csgnode *createShape(int numFaces, int numVerticesPerFace[], double vertexTriples[][3]);

2) A function to merge adjacent coplanar faces into a single face, which would then be split into convex polygons, as required. Currently CSGJS generates many odd triangular faces; these need to be merged into fewer faces, in the CSGJS BSP (binary space partition) structure.

The function prototype will be:

csgjs_csgnode *mergeCoplanarFaces(csgjs_csgnode *shape);

3) A function to convert from the CSGJS BSP shape into a list of faces. Faces will be non-triangular where possible.

The function prototype will be:

vector<vector<csgjs_vertex> > getShape(csgjs_csgnode *shape);

Beceriler: 3B Tasarım, Algoritma, C Programlama, C++ Programlama

Daha fazlasını görün: csg cpp, csgjs port, csgjs cpp, vector int, vector cpp, vector cplusplus, vector geometry, programming cpp, programming vector, programming library, library vector, library prototype, library programming, geometry vector, geometry convex, geometry 2, vector library, programming break, cpp vector, cpp programming, cpp list, cplusplus vector, convex programming, list library, geometry library

İşveren Hakkında:
( 0 değerlendirme ) Sunnybank, Australia

Proje NO: #6516112

1 freelancer bu iş için ortalamada 200$ teklif veriyor


HI, after reading you initial Project Description i am here for your kind concern, please check completion rate & skills from my profile https://www.freelancer.com/u/par1jaat.html I am an professional developer and pr Daha fazlası

in 10 gün içinde200$ USD
(3 Değerlendirme)

I certainly can do that but due to everyday workload I ask for 7 days, including tests and documentation.

in 7 gün içinde200$ USD
(0 Değerlendirme)