|
Blender V4.5
|
#include <grease_pencil_io_intern.hh>
Inherited by blender::io::grease_pencil::PDFExporter, and blender::io::grease_pencil::SVGExporter.
Classes | |
| struct | ObjectInfo |
Public Types | |
| using | WriteStrokeFn |
Public Member Functions | |
| GreasePencilExporter (const IOContext &context, const ExportParams ¶ms) | |
| void | prepare_render_params (Scene &scene, int frame_number) |
| Vector< ObjectInfo > | retrieve_objects () const |
| void | foreach_stroke_in_layer (const Object &object, const bke::greasepencil::Layer &layer, const bke::greasepencil::Drawing &drawing, WriteStrokeFn stroke_fn) |
| float2float2 | project_to_screen (const float4x4 &transform, const float3float3 &position) const |
| bool | is_selected_frame (const GreasePencil &grease_pencil, int frame_number) const |
Static Public Member Functions | |
| static ColorGeometry4f | compute_average_stroke_color (const Material &material, const Span< ColorGeometry4f > vertex_colors) |
| static float | compute_average_stroke_opacity (const Span< float > opacities) |
| static std::optional< float > | try_get_uniform_point_width (const RegionView3D &rv3d, const Span< float3float3 > world_positions, const Span< float > radii) |
Protected Attributes | |
| const IOContext | context_ |
| const ExportParams | params_ |
| std::optional< float4x4 > | camera_persmat_ |
| blender::Bounds< float2float2 > | camera_rect_ |
| float2float2 | camera_fac_ |
| blender::Bounds< float2float2 > | screen_rect_ |
Definition at line 48 of file grease_pencil_io_intern.hh.
Definition at line 81 of file grease_pencil_io_intern.hh.
| blender::io::grease_pencil::GreasePencilExporter::GreasePencilExporter | ( | const IOContext & | context, |
| const ExportParams & | params ) |
Definition at line 132 of file grease_pencil_io.cc.
|
static |
Definition at line 281 of file grease_pencil_io.cc.
References blender::ColorRGBA< ChannelStorageType, Space, Alpha >::a, blender::io::grease_pencil::get_average(), Material::gp_style, blender::math::interpolate(), and MaterialGPencilStyle::stroke_rgba.
|
static |
Definition at line 291 of file grease_pencil_io.cc.
References blender::io::grease_pencil::get_average().
| void blender::io::grease_pencil::GreasePencilExporter::foreach_stroke_in_layer | ( | const Object & | object, |
| const bke::greasepencil::Layer & | layer, | ||
| const bke::greasepencil::Drawing & | drawing, | ||
| WriteStrokeFn | stroke_fn ) |
Definition at line 366 of file grease_pencil_io.cc.
References blender::bke::CurvesGeometry::attributes(), context_, blender::bke::Curve, blender::bke::CurvesGeometry::cyclic(), blender::bke::greasepencil::Drawing::fill_colors(), foreach_stroke_in_layer(), GP_STROKE_CAP_TYPE_ROUND, blender::bke::AttributeAccessor::lookup_or_default(), blender::bke::greasepencil::Drawing::opacities(), blender::threading::parallel_for(), blender::bke::CurvesGeometry::points_by_curve(), blender::bke::CurvesGeometry::positions(), blender::bke::greasepencil::Drawing::radii(), blender::bke::greasepencil::Drawing::strokes(), blender::bke::greasepencil::Layer::to_world_space(), and blender::bke::greasepencil::Drawing::vertex_colors().
Referenced by blender::io::grease_pencil::PDFExporter::export_grease_pencil_layer(), blender::io::grease_pencil::SVGExporter::export_grease_pencil_layer(), and foreach_stroke_in_layer().
| bool blender::io::grease_pencil::GreasePencilExporter::is_selected_frame | ( | const GreasePencil & | grease_pencil, |
| int | frame_number ) const |
Definition at line 534 of file grease_pencil_io.cc.
References Layer::frame_at(), and is_selected_frame().
Referenced by blender::io::grease_pencil::PDFExporter::export_scene(), blender::io::grease_pencil::SVGExporter::export_scene(), and is_selected_frame().
| void blender::io::grease_pencil::GreasePencilExporter::prepare_render_params | ( | Scene & | scene, |
| int | frame_number ) |
Definition at line 246 of file grease_pencil_io.cc.
References BKE_render_resolution(), BLI_assert, camera_fac_, camera_persmat_, camera_rect_, context_, ED_view3d_calc_camera_border(), blender::io::grease_pencil::persmat_from_camera_object(), Scene::r, retrieve_objects(), RV3D_CAMOB, screen_rect_, rctf::xmax, rctf::xmin, rctf::ymax, and rctf::ymin.
Referenced by blender::io::grease_pencil::PDFExporter::export_scene(), and blender::io::grease_pencil::SVGExporter::export_scene().
| float2float2 blender::io::grease_pencil::GreasePencilExporter::project_to_screen | ( | const float4x4 & | transform, |
| const float3float3 & | position ) const |
Definition at line 508 of file grease_pencil_io.cc.
References camera_fac_, camera_persmat_, context_, ED_view3d_project_float_global(), ELEM, blender::math::project_point(), project_to_screen(), screen_rect_, transform(), blender::math::transform_point(), V2D_IS_CLIPPED, V3D_PROJ_RET_OK, and V3D_PROJ_TEST_NOP.
Referenced by project_to_screen(), blender::io::grease_pencil::SVGExporter::write_path(), blender::io::grease_pencil::SVGExporter::write_polygon(), blender::io::grease_pencil::SVGExporter::write_polyline(), and blender::io::grease_pencil::PDFExporter::write_stroke_to_polyline().
| Vector< GreasePencilExporter::ObjectInfo > blender::io::grease_pencil::GreasePencilExporter::retrieve_objects | ( | ) | const |
Definition at line 315 of file grease_pencil_io.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), BASE_SELECTED, blender::Vector< T, InlineBufferCapacity, Allocator >::begin(), BKE_view_layer_object_bases_get(), BKE_view_layer_synced_ensure(), camera_persmat_, context_, CTX_data_scene(), CTX_data_view_layer(), blender::math::dot(), ED_view3d_calc_zfac(), blender::Vector< T, InlineBufferCapacity, Allocator >::end(), LISTBASE_FOREACH, OB_GREASE_PENCIL, params_, retrieve_objects(), and Object::type.
Referenced by blender::io::grease_pencil::PDFExporter::export_grease_pencil_objects(), blender::io::grease_pencil::SVGExporter::export_grease_pencil_objects(), prepare_render_params(), and retrieve_objects().
|
static |
Definition at line 296 of file grease_pencil_io.cc.
References BLI_assert, blender::Array< T, InlineBufferCapacity, Allocator >::index_range(), blender::Span< T >::is_empty(), blender::threading::parallel_for(), and blender::Span< T >::size().
Definition at line 62 of file grease_pencil_io_intern.hh.
Referenced by prepare_render_params(), and project_to_screen().
|
protected |
Definition at line 60 of file grease_pencil_io_intern.hh.
Referenced by blender::io::grease_pencil::PDFExporter::add_page(), blender::io::grease_pencil::SVGExporter::export_grease_pencil_objects(), prepare_render_params(), project_to_screen(), retrieve_objects(), blender::io::grease_pencil::SVGExporter::write_main_node(), blender::io::grease_pencil::SVGExporter::write_path(), blender::io::grease_pencil::SVGExporter::write_polygon(), and blender::io::grease_pencil::SVGExporter::write_polyline().
|
protected |
Definition at line 61 of file grease_pencil_io_intern.hh.
Referenced by blender::io::grease_pencil::PDFExporter::add_page(), blender::io::grease_pencil::SVGExporter::export_grease_pencil_objects(), prepare_render_params(), blender::io::grease_pencil::SVGExporter::write_main_node(), blender::io::grease_pencil::SVGExporter::write_path(), blender::io::grease_pencil::SVGExporter::write_polygon(), and blender::io::grease_pencil::SVGExporter::write_polyline().
|
protected |
Definition at line 56 of file grease_pencil_io_intern.hh.
Referenced by blender::io::grease_pencil::PDFExporter::export_grease_pencil_objects(), blender::io::grease_pencil::SVGExporter::export_grease_pencil_objects(), blender::io::grease_pencil::PDFExporter::export_scene(), blender::io::grease_pencil::SVGExporter::export_scene(), foreach_stroke_in_layer(), GreasePencilExporter(), prepare_render_params(), project_to_screen(), and retrieve_objects().
|
protected |
Definition at line 57 of file grease_pencil_io_intern.hh.
Referenced by blender::io::grease_pencil::SVGExporter::export_grease_pencil_objects(), blender::io::grease_pencil::PDFExporter::export_scene(), blender::io::grease_pencil::SVGExporter::export_scene(), GreasePencilExporter(), and retrieve_objects().
|
protected |
Definition at line 63 of file grease_pencil_io_intern.hh.
Referenced by blender::io::grease_pencil::PDFExporter::add_page(), prepare_render_params(), project_to_screen(), blender::io::grease_pencil::SVGExporter::write_main_node(), blender::io::grease_pencil::SVGExporter::write_path(), blender::io::grease_pencil::SVGExporter::write_polygon(), and blender::io::grease_pencil::SVGExporter::write_polyline().