32 std::unique_ptr<blender::io::ply::PlyData> plyData = std::make_unique<PlyData>();
35 bool needs_free =
false;
45 "PLY Export: Unable to find collection '%s'",
67 std::unique_ptr<FileBuffer> buffer;
71 buffer = std::make_unique<FileBufferAscii>(export_params.
filepath);
74 buffer = std::make_unique<FileBufferBinary>(export_params.
filepath);
77 catch (
const std::system_error &ex) {
78 fprintf(stderr,
"%s\n", ex.what());
81 "PLY Export: Cannot open file '%s'",
86 write_header(*buffer.get(), *plyData.get(), export_params);
Depsgraph * CTX_data_ensure_evaluated_depsgraph(const bContext *C)
Scene * CTX_data_scene(const bContext *C)
Main * CTX_data_main(const bContext *C)
ViewLayer * CTX_data_view_layer(const bContext *C)
ID * BKE_libblock_find_name(Main *bmain, short type, const char *name, const std::optional< Library * > lib=std::nullopt) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
void BKE_reportf(ReportList *reports, eReportType type, const char *format,...) ATTR_PRINTF_FORMAT(3
void BKE_scene_graph_evaluated_ensure(Depsgraph *depsgraph, Main *bmain)
Depsgraph * DEG_graph_new(Main *bmain, Scene *scene, ViewLayer *view_layer, eEvaluationMode mode)
void DEG_graph_free(Depsgraph *graph)
void DEG_graph_build_from_collection(Depsgraph *graph, Collection *collection)
const Depsgraph * depsgraph
void write_vertices(FileBuffer &buffer, const PlyData &ply_data)
void load_plydata(PlyData &plyData, Depsgraph *depsgraph, const PLYExportParams &export_params)
void exporter_main(bContext *C, const PLYExportParams &export_params)
void write_faces(FileBuffer &buffer, const PlyData &ply_data)
void write_edges(FileBuffer &buffer, const PlyData &ply_data)
void write_header(FileBuffer &buffer, const PlyData &ply_data, const PLYExportParams &export_params)
char collection[MAX_IDPROP_NAME]