Blender  V3.3
Classes | Namespaces | Functions
realize_instances.cc File Reference
#include "GEO_realize_instances.hh"
#include "DNA_collection_types.h"
#include "DNA_layer_types.h"
#include "DNA_mesh_types.h"
#include "DNA_meshdata_types.h"
#include "DNA_object_types.h"
#include "DNA_pointcloud_types.h"
#include "BLI_noise.hh"
#include "BLI_task.hh"
#include "BKE_collection.h"
#include "BKE_curves.hh"
#include "BKE_deform.h"
#include "BKE_geometry_set_instances.hh"
#include "BKE_material.h"
#include "BKE_mesh.h"
#include "BKE_pointcloud.h"
#include "BKE_type_conversions.hh"

Go to the source code of this file.

Classes

struct  blender::geometry::OrderedAttributes
 
struct  blender::geometry::AttributeFallbacksArray
 
struct  blender::geometry::PointCloudRealizeInfo
 
struct  blender::geometry::RealizePointCloudTask
 
struct  blender::geometry::MeshElementStartIndices
 
struct  blender::geometry::MeshRealizeInfo
 
struct  blender::geometry::RealizeMeshTask
 
struct  blender::geometry::RealizeCurveInfo
 
struct  blender::geometry::CurvesElementStartIndices
 
struct  blender::geometry::RealizeCurveTask
 
struct  blender::geometry::AllPointCloudsInfo
 
struct  blender::geometry::AllMeshesInfo
 
struct  blender::geometry::AllCurvesInfo
 
struct  blender::geometry::GatherTasks
 
struct  blender::geometry::GatherOffsets
 
struct  blender::geometry::GatherTasksInfo
 
struct  blender::geometry::InstanceContext
 

Namespaces

 blender
 
 blender::geometry
 

Functions

static void blender::geometry::copy_transformed_positions (const Span< float3 > src, const float4x4 &transform, MutableSpan< float3 > dst)
 
static void blender::geometry::threaded_copy (const GSpan src, GMutableSpan dst)
 
static void blender::geometry::threaded_fill (const GPointer value, GMutableSpan dst)
 
static void blender::geometry::copy_generic_attributes_to_result (const Span< std::optional< GVArraySpan >> src_attributes, const AttributeFallbacksArray &attribute_fallbacks, const OrderedAttributes &ordered_attributes, const FunctionRef< IndexRange(eAttrDomain)> &range_fn, MutableSpan< GSpanAttributeWriter > dst_attribute_writers)
 
static void blender::geometry::create_result_ids (const RealizeInstancesOptions &options, Span< int > stored_ids, const int task_id, MutableSpan< int > dst_ids)
 
Gather Realize Tasks
static void blender::geometry::gather_realize_tasks_recursive (GatherTasksInfo &gather_info, const GeometrySet &geometry_set, const float4x4 &base_transform, const InstanceContext &base_instance_context)
 
static Vector< std::pair< int, GSpan > > blender::geometry::prepare_attribute_fallbacks (GatherTasksInfo &gather_info, const InstancesComponent &instances_component, const OrderedAttributes &ordered_attributes)
 
static void blender::geometry::foreach_geometry_in_reference (const InstanceReference &reference, const float4x4 &base_transform, const uint32_t id, FunctionRef< void(const GeometrySet &geometry_set, const float4x4 &transform, uint32_t id)> fn)
 
static void blender::geometry::gather_realize_tasks_for_instances (GatherTasksInfo &gather_info, const InstancesComponent &instances_component, const float4x4 &base_transform, const InstanceContext &base_instance_context)
 
Point Cloud
static OrderedAttributes blender::geometry::gather_generic_pointcloud_attributes_to_propagate (const GeometrySet &in_geometry_set, const RealizeInstancesOptions &options, bool &r_create_id)
 
static void blender::geometry::gather_pointclouds_to_realize (const GeometrySet &geometry_set, VectorSet< const PointCloud * > &r_pointclouds)
 
static AllPointCloudsInfo blender::geometry::preprocess_pointclouds (const GeometrySet &geometry_set, const RealizeInstancesOptions &options)
 
static void blender::geometry::execute_realize_pointcloud_task (const RealizeInstancesOptions &options, const RealizePointCloudTask &task, const OrderedAttributes &ordered_attributes, MutableSpan< GSpanAttributeWriter > dst_attribute_writers, MutableSpan< int > all_dst_ids, MutableSpan< float3 > all_dst_positions)
 
static void blender::geometry::execute_realize_pointcloud_tasks (const RealizeInstancesOptions &options, const AllPointCloudsInfo &all_pointclouds_info, const Span< RealizePointCloudTask > tasks, const OrderedAttributes &ordered_attributes, GeometrySet &r_realized_geometry)
 
Mesh
static OrderedAttributes blender::geometry::gather_generic_mesh_attributes_to_propagate (const GeometrySet &in_geometry_set, const RealizeInstancesOptions &options, bool &r_create_id)
 
static void blender::geometry::gather_meshes_to_realize (const GeometrySet &geometry_set, VectorSet< const Mesh * > &r_meshes)
 
static AllMeshesInfo blender::geometry::preprocess_meshes (const GeometrySet &geometry_set, const RealizeInstancesOptions &options)
 
static void blender::geometry::execute_realize_mesh_task (const RealizeInstancesOptions &options, const RealizeMeshTask &task, const OrderedAttributes &ordered_attributes, Mesh &dst_mesh, MutableSpan< GSpanAttributeWriter > dst_attribute_writers, MutableSpan< int > all_dst_vertex_ids)
 
static void blender::geometry::execute_realize_mesh_tasks (const RealizeInstancesOptions &options, const AllMeshesInfo &all_meshes_info, const Span< RealizeMeshTask > tasks, const OrderedAttributes &ordered_attributes, const VectorSet< Material * > &ordered_materials, GeometrySet &r_realized_geometry)
 
Curves
static OrderedAttributes blender::geometry::gather_generic_curve_attributes_to_propagate (const GeometrySet &in_geometry_set, const RealizeInstancesOptions &options, bool &r_create_id)
 
static void blender::geometry::gather_curves_to_realize (const GeometrySet &geometry_set, VectorSet< const Curves * > &r_curves)
 
static AllCurvesInfo blender::geometry::preprocess_curves (const GeometrySet &geometry_set, const RealizeInstancesOptions &options)
 
static void blender::geometry::execute_realize_curve_task (const RealizeInstancesOptions &options, const AllCurvesInfo &all_curves_info, const RealizeCurveTask &task, const OrderedAttributes &ordered_attributes, bke::CurvesGeometry &dst_curves, MutableSpan< GSpanAttributeWriter > dst_attribute_writers, MutableSpan< int > all_dst_ids, MutableSpan< float3 > all_handle_left, MutableSpan< float3 > all_handle_right, MutableSpan< float > all_radii, MutableSpan< int > all_resolutions)
 
static void blender::geometry::execute_realize_curve_tasks (const RealizeInstancesOptions &options, const AllCurvesInfo &all_curves_info, const Span< RealizeCurveTask > tasks, const OrderedAttributes &ordered_attributes, GeometrySet &r_realized_geometry)
 
Realize Instances
static void blender::geometry::remove_id_attribute_from_instances (GeometrySet &geometry_set)
 
GeometrySet blender::geometry::realize_instances (GeometrySet geometry_set, const RealizeInstancesOptions &options)