MCPcopy Create free account
hub / github.com/PyMesh/PyMesh / ply_create

Function ply_create

src/IO/rply.c:447–480  ·  view source on GitHub ↗

---------------------------------------------------------------------- * Write support functions * ---------------------------------------------------------------------- */

Source from the content-addressed store, hash-verified

445 * Write support functions
446 * ---------------------------------------------------------------------- */
447p_ply ply_create(const char *name, e_ply_storage_mode storage_mode,
448 p_ply_error_cb error_cb, long idata, void *pdata) {
449 FILE *fp = NULL;
450 p_ply ply = ply_alloc();
451 if (error_cb == NULL) error_cb = ply_error_cb;
452 if (!ply) {
453 error_cb(NULL, "Out of memory");
454 return NULL;
455 }
456 if (!ply_type_check()) {
457 error_cb(ply, "Incompatible type system");
458 free(ply);
459 return NULL;
460 }
461 assert(name && storage_mode <= PLY_DEFAULT);
462 fp = fopen(name, "wb");
463 if (!fp) {
464 error_cb(ply, "Unable to create file");
465 free(ply);
466 return NULL;
467 }
468 ply->idata = idata;
469 ply->pdata = pdata;
470 ply->io_mode = PLY_WRITE;
471 if (storage_mode == PLY_DEFAULT) storage_mode = ply_arch_endian();
472 if (storage_mode == PLY_ASCII) ply->odriver = &ply_odriver_ascii;
473 else if (storage_mode == ply_arch_endian())
474 ply->odriver = &ply_odriver_binary;
475 else ply->odriver = &ply_odriver_binary_reverse;
476 ply->storage_mode = storage_mode;
477 ply->fp = fp;
478 ply->error_cb = error_cb;
479 return ply;
480}
481
482int ply_add_element(p_ply ply, const char *name, long ninstances) {
483 p_ply_element element = NULL;

Callers 1

write_meshMethod · 0.85

Calls 3

ply_allocFunction · 0.85
ply_type_checkFunction · 0.85
ply_arch_endianFunction · 0.85

Tested by

no test coverage detected