|
Blender V5.0
|
#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) |
| float2 | project_to_screen (const float4x4 &transform, const float3 &position) const |
| bool | is_selected_frame (const GreasePencil &grease_pencil, int frame_number) const |
| std::string | coord_to_svg_string (const float2 &screen_co) 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< float3 > world_positions, const Span< float > radii) |
Protected Attributes | |
| const IOContext | context_ |
| const ExportParams | params_ |
| std::optional< float4x4 > | camera_persmat_ |
| blender::Bounds< float2 > | camera_rect_ |
| float2 | camera_fac_ |
| blender::Bounds< float2 > | 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 133 of file grease_pencil_io.cc.
|
static |
Definition at line 282 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.
Referenced by foreach_stroke_in_layer().
|
static |
Definition at line 292 of file grease_pencil_io.cc.
References blender::io::grease_pencil::get_average().
Referenced by foreach_stroke_in_layer().
| std::string blender::io::grease_pencil::GreasePencilExporter::coord_to_svg_string | ( | const float2 & | screen_co | ) | const |
Definition at line 562 of file grease_pencil_io.cc.
References camera_persmat_, camera_rect_, coord_to_svg_string(), and screen_rect_.
Referenced by coord_to_svg_string(), blender::io::grease_pencil::SVGExporter::write_bezier_path(), blender::io::grease_pencil::SVGExporter::write_path(), blender::io::grease_pencil::SVGExporter::write_polygon(), and blender::io::grease_pencil::SVGExporter::write_polyline().
| 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 369 of file grease_pencil_io.cc.
References blender::Array< T, InlineBufferCapacity, Allocator >::as_span(), blender::bke::CurvesGeometry::attributes(), BKE_material_default_gpencil(), BKE_object_material_get(), BLI_assert, compute_average_stroke_color(), compute_average_stroke_opacity(), context_, blender::ed::greasepencil::create_curves_outline(), blender::bke::Curve, blender::bke::CurvesGeometry::curve_types(), blender::bke::CurvesGeometry::curves_num(), blender::bke::CurvesGeometry::curves_range(), blender::bke::CurvesGeometry::cyclic(), blender::bke::greasepencil::Drawing::fill_colors(), MaterialGPencilStyle::fill_rgba, MaterialGPencilStyle::flag, foreach_stroke_in_layer(), blender::IndexRange::from_single(), blender::VArray< T >::from_single(), GP_MATERIAL_FILL_SHOW, GP_MATERIAL_HIDE, GP_MATERIAL_STROKE_SHOW, GP_STROKE_CAP_TYPE_ROUND, Material::gp_style, blender::bke::CurvesGeometry::handle_positions_left(), blender::bke::CurvesGeometry::handle_positions_right(), blender::math::interpolate(), is_cyclic(), blender::bke::AttributeAccessor::lookup_or_default(), blender::bke::greasepencil::Drawing::opacities(), GreasePencilLayer::opacity, params_, blender::bke::CurvesGeometry::points_by_curve(), blender::bke::CurvesGeometry::positions(), blender::bke::greasepencil::Drawing::radii(), blender::geometry::resample_to_length(), blender::IndexRange::size(), blender::Span< T >::slice(), blender::Span< T >::slice_safe(), blender::bke::greasepencil::Drawing::strokes(), blender::bke::greasepencil::Layer::to_world_space(), blender::math::transform_points(), try_get_uniform_point_width(), types, 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 548 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 247 of file grease_pencil_io.cc.
References BKE_render_resolution(), BLI_assert, camera_fac_, camera_persmat_, camera_rect_, context_, ED_view3d_calc_camera_border(), float, 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().
| float2 blender::io::grease_pencil::GreasePencilExporter::project_to_screen | ( | const float4x4 & | transform, |
| const float3 & | position ) const |
Definition at line 522 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_bezier_path(), 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 316 of file grease_pencil_io.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), BASE_ENABLED_RENDER, 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 297 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().
Referenced by foreach_stroke_in_layer().
|
protected |
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(), coord_to_svg_string(), blender::io::grease_pencil::SVGExporter::export_grease_pencil_objects(), prepare_render_params(), project_to_screen(), retrieve_objects(), and blender::io::grease_pencil::SVGExporter::write_main_node().
|
protected |
Definition at line 61 of file grease_pencil_io_intern.hh.
Referenced by blender::io::grease_pencil::PDFExporter::add_page(), coord_to_svg_string(), blender::io::grease_pencil::SVGExporter::export_grease_pencil_objects(), prepare_render_params(), and blender::io::grease_pencil::SVGExporter::write_main_node().
|
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(), foreach_stroke_in_layer(), 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(), coord_to_svg_string(), prepare_render_params(), project_to_screen(), and blender::io::grease_pencil::SVGExporter::write_main_node().