|
Blender V4.3
|
#include <optional>#include "blender/attribute_convert.h"#include "blender/sync.h"#include "blender/util.h"#include "scene/attribute.h"#include "scene/camera.h"#include "scene/curves.h"#include "scene/hair.h"#include "scene/object.h"#include "scene/scene.h"#include "util/color.h"#include "util/foreach.h"#include "util/hash.h"#include "util/log.h"#include "BKE_attribute.hh"#include "BKE_curves.hh"Go to the source code of this file.
Functions | |
| static float | shaperadius (float shape, float root, float tip, float time) |
| static bool | ObtainCacheParticleData (Hair *hair, BL::Mesh *b_mesh, BL::Object *b_ob, ParticleCurveData *CData, bool background) |
| static bool | ObtainCacheParticleUV (Hair *hair, BL::Mesh *b_mesh, BL::Object *b_ob, ParticleCurveData *CData, bool background, int uv_num) |
| static bool | ObtainCacheParticleVcol (Hair *hair, BL::Mesh *b_mesh, BL::Object *b_ob, ParticleCurveData *CData, bool background, int vcol_num) |
| static void | ExportCurveSegments (Scene *scene, Hair *hair, ParticleCurveData *CData) |
| static float4 | CurveSegmentMotionCV (ParticleCurveData *CData, int sys, int curve, int curvekey) |
| static float4 | LerpCurveSegmentMotionCV (ParticleCurveData *CData, int sys, int curve, float step) |
| static void | export_hair_motion_validate_attribute (Hair *hair, int motion_step, int num_motion_keys, bool have_motion) |
| static void | ExportCurveSegmentsMotion (Hair *hair, ParticleCurveData *CData, int motion_step) |
| template<typename TypeInCycles , typename GetValueAtIndex > | |
| static void | fill_generic_attribute (const int num_curves, const int num_points, TypeInCycles *data, const AttributeElement element, const GetValueAtIndex &get_value_at_index) |
| static void | attr_create_motion_from_velocity (Hair *hair, const blender::Span< blender::float3 > src, const float motion_scale) |
| static void | attr_create_generic (Scene *scene, Hair *hair, const blender::bke::CurvesGeometry &b_curves, const bool need_motion, const float motion_scale) |
| static float4 | curve_point_as_float4 (const blender::Span< blender::float3 > b_positions, const blender::Span< float > b_radius, const int index) |
| static float4 | interpolate_curve_points (const blender::Span< blender::float3 > b_positions, const blender::Span< float > b_radius, const int first_point_index, const int num_points, const float step) |
| static void | export_hair_curves (Scene *scene, Hair *hair, const blender::bke::CurvesGeometry &b_curves, const bool need_motion, const float motion_scale) |
| static void | export_hair_curves_motion (Hair *hair, const blender::bke::CurvesGeometry &b_curves, int motion_step) |
|
static |
Definition at line 715 of file blender/curves.cpp.
References Attribute::add(), attr_create_motion_from_velocity(), ATTR_ELEMENT_CURVE, ATTR_ELEMENT_CURVE_KEY, ATTR_ELEMENT_NONE, ATTR_STD_UV, AttributeSet::attributes, blender::bke::CurvesGeometry::attributes(), blender::Span< T >::cast(), CD_PROP_FLOAT2, blender::bke::attribute_math::convert_to_static_type(), blender::bke::Curve, Attribute::data_float2(), blender::bke::AttributeIter::data_type, blender::bke::AttributeIter::domain, blender::bke::GAttributeReader::domain, blender::bke::AttributeAccessor::foreach_attribute(), blender::bke::AttributeIter::get(), blender::bke::AttributeIter::name, blender::bke::Point, blender::GVArrayCommon::type(), and blender::bke::GAttributeReader::varray.
Referenced by export_hair_curves().
|
static |
Definition at line 686 of file blender/curves.cpp.
References Attribute::add(), ATTR_STD_MOTION_VERTEX_POSITION, Attribute::data_float3(), make_float3(), and P.
Referenced by attr_create_generic().
|
static |
Definition at line 794 of file blender/curves.cpp.
References blender::Span< T >::is_empty(), and make_float4().
Referenced by export_hair_curves_motion(), and interpolate_curve_points().
|
static |
Definition at line 380 of file blender/curves.cpp.
References curve, ParticleCurveData::curve_firstkey, ParticleCurveData::curve_keynum, ParticleCurveData::curve_length, ParticleCurveData::curvekey_co, ParticleCurveData::curvekey_time, float3_to_float4(), ParticleCurveData::psys_closetip, ParticleCurveData::psys_rootradius, ParticleCurveData::psys_shape, ParticleCurveData::psys_tipradius, and shaperadius().
Referenced by ExportCurveSegmentsMotion(), and LerpCurveSegmentMotionCV().
|
static |
Definition at line 819 of file blender/curves.cpp.
References attr_create_generic(), ATTR_STD_CURVE_INTERCEPT, ATTR_STD_CURVE_LENGTH, ATTR_STD_CURVE_RANDOM, ATTR_STD_VERTEX_NORMAL, blender::bke::CurvesGeometry::attributes(), curve, blender::bke::curves_normals_point_domain_calc(), blender::offset_indices::OffsetIndices< T >::data(), blender::Span< T >::data(), hash_uint2_to_float(), blender::offset_indices::OffsetIndices< T >::index_range(), blender::Span< T >::is_empty(), len, length(), blender::bke::AttributeAccessor::lookup(), make_float3(), NULL, blender::bke::Point, point, blender::bke::CurvesGeometry::points_by_curve(), blender::bke::CurvesGeometry::positions(), blender::offset_indices::OffsetIndices< T >::size(), and zero_float3().
|
static |
Definition at line 918 of file blender/curves.cpp.
References Attribute::add(), ATTR_STD_MOTION_VERTEX_POSITION, blender::bke::CurvesGeometry::attributes(), curve_point_as_float4(), Attribute::data_float4(), export_hair_motion_validate_attribute(), float3_to_float4(), blender::offset_indices::OffsetIndices< T >::index_range(), interpolate_curve_points(), blender::bke::AttributeAccessor::lookup(), blender::bke::Point, blender::bke::CurvesGeometry::points_by_curve(), blender::bke::CurvesGeometry::positions(), and blender::Span< T >::size().
|
static |
Definition at line 422 of file blender/curves.cpp.
References ATTR_STD_MOTION_VERTEX_POSITION, Attribute::data_float4(), float3_to_float4(), and VLOG_WORK.
Referenced by export_hair_curves_motion(), and ExportCurveSegmentsMotion().
|
static |
Definition at line 279 of file blender/curves.cpp.
References Attribute::add(), ATTR_STD_CURVE_INTERCEPT, ATTR_STD_CURVE_LENGTH, ATTR_STD_CURVE_RANDOM, ATTR_STD_VERTEX_NORMAL, curve, ParticleCurveData::curve_firstkey, ParticleCurveData::curve_keynum, ParticleCurveData::curve_length, ParticleCurveData::curvekey_co, ParticleCurveData::curvekey_time, hash_uint2_to_float(), make_float3(), NULL, ParticleCurveData::psys_closetip, ParticleCurveData::psys_curvenum, ParticleCurveData::psys_firstcurve, ParticleCurveData::psys_rootradius, ParticleCurveData::psys_shader, ParticleCurveData::psys_shape, ParticleCurveData::psys_tipradius, shaperadius(), array< T, alignment >::size(), and VLOG_WARNING.
|
static |
Definition at line 451 of file blender/curves.cpp.
References Attribute::add(), ATTR_STD_MOTION_VERTEX_POSITION, curve, ParticleCurveData::curve_firstkey, ParticleCurveData::curve_keynum, CurveSegmentMotionCV(), Attribute::data_float4(), export_hair_motion_validate_attribute(), float3_to_float4(), int, len_squared(), LerpCurveSegmentMotionCV(), ParticleCurveData::psys_curvenum, ParticleCurveData::psys_firstcurve, and array< T, alignment >::size().
|
static |
Definition at line 660 of file blender/curves.cpp.
References ATTR_ELEMENT_CURVE, and ATTR_ELEMENT_CURVE_KEY.
|
static |
Definition at line 804 of file blender/curves.cpp.
References clamp(), curve_point_as_float4(), float, min, and mix.
Referenced by export_hair_curves_motion().
|
static |
Definition at line 401 of file blender/curves.cpp.
References curve, ParticleCurveData::curve_firstkey, ParticleCurveData::curve_keynum, CurveSegmentMotionCV(), floorf, int, and mix.
Referenced by ExportCurveSegmentsMotion().
|
static |
Definition at line 51 of file blender/curves.cpp.
References clamp(), ParticleCurveData::curve_firstkey, ParticleCurveData::curve_keynum, ParticleCurveData::curve_length, ParticleCurveData::curvekey_co, ParticleCurveData::curvekey_time, float, get_transform(), int, len, ParticleCurveData::psys_closetip, ParticleCurveData::psys_curvenum, ParticleCurveData::psys_firstcurve, ParticleCurveData::psys_rootradius, ParticleCurveData::psys_shader, ParticleCurveData::psys_shape, ParticleCurveData::psys_tipradius, array< T, alignment >::push_back_slow(), array< T, alignment >::reserve(), array< T, alignment >::size(), transform_inverse(), transform_point(), float3::x, and zero_float3().
|
static |
Definition at line 149 of file blender/curves.cpp.
References array< T, alignment >::clear(), ParticleCurveData::curve_uv, float, int, l, array< T, alignment >::push_back_slow(), array< T, alignment >::reserve(), array< T, alignment >::size(), float2::x, and zero_float2().
|
static |
Definition at line 214 of file blender/curves.cpp.
References array< T, alignment >::clear(), ParticleCurveData::curve_vcol, float, int, l, make_float4(), array< T, alignment >::push_back_slow(), array< T, alignment >::reserve(), and array< T, alignment >::size().
Definition at line 32 of file blender/curves.cpp.
Referenced by CurveSegmentMotionCV(), and ExportCurveSegments().