|
Blender V4.3
|
#include <BLI_math_vector_types.hh>
Inherits blender::vec_struct_base< T, Size >.
Inherited by blender::draw::StorageBuffer< blender::VecBase, true >.
Public Types | |
| using | base_type = T |
| using | uint_type = VecBase<as_uint_type<T>, Size> |
Public Member Functions | |
| BLI_STATIC_ASSERT (alignof(T)<=sizeof(T), "VecBase is not compatible with aligned type for now.") | |
| VecBase ()=default | |
| template<BLI_ENABLE_IF_VEC(Size, > 1) > | |
| VecBase (T value) | |
| template<typename U , BLI_ENABLE_IF((std::is_convertible_v< U, T >)) > | |
| VecBase (U value) | |
| template<BLI_ENABLE_IF_VEC(Size,==1) > | |
| VecBase (T _x) | |
| template<BLI_ENABLE_IF_VEC(Size,==2) > | |
| VecBase (T _x, T _y) | |
| template<BLI_ENABLE_IF_VEC(Size,==3) > | |
| VecBase (T _x, T _y, T _z) | |
| template<BLI_ENABLE_IF_VEC(Size,==4) > | |
| VecBase (T _x, T _y, T _z, T _w) | |
| template<typename U , BLI_ENABLE_IF_VEC(Size,==3) > | |
| constexpr | VecBase (const VecBase< U, 2 > &xy, T z) |
| template<typename U , BLI_ENABLE_IF_VEC(Size,==3) > | |
| constexpr | VecBase (T x, const VecBase< U, 2 > &yz) |
| template<typename U , BLI_ENABLE_IF_VEC(Size,==4) > | |
| VecBase (VecBase< U, 3 > xyz, T w) | |
| template<typename U , BLI_ENABLE_IF_VEC(Size,==4) > | |
| VecBase (T x, VecBase< U, 3 > yzw) | |
| template<typename U , typename V , BLI_ENABLE_IF_VEC(Size,==4) > | |
| VecBase (VecBase< U, 2 > xy, VecBase< V, 2 > zw) | |
| template<typename U , BLI_ENABLE_IF_VEC(Size,==4) > | |
| VecBase (VecBase< U, 2 > xy, T z, T w) | |
| template<typename U , BLI_ENABLE_IF_VEC(Size,==4) > | |
| VecBase (T x, VecBase< U, 2 > yz, T w) | |
| template<typename U , BLI_ENABLE_IF_VEC(Size,==4) > | |
| VecBase (T x, T y, VecBase< U, 2 > zw) | |
| template<typename U , int OtherSize, BLI_ENABLE_IF(OtherSize > Size) > | |
| VecBase (const VecBase< U, OtherSize > &other) | |
| template<BLI_ENABLE_IF_VEC(Size, >=2) > | |
| VecBase< T, 2 > | xy () const |
| template<BLI_ENABLE_IF_VEC(Size, >=3) > | |
| VecBase< T, 2 > | yz () const |
| template<BLI_ENABLE_IF_VEC(Size, >=4) > | |
| VecBase< T, 2 > | zw () const |
| template<BLI_ENABLE_IF_VEC(Size, >=3) > | |
| VecBase< T, 3 > | xyz () const |
| template<BLI_ENABLE_IF_VEC(Size, >=4) > | |
| VecBase< T, 3 > | yzw () const |
| template<BLI_ENABLE_IF_VEC(Size, >=4) > | |
| VecBase< T, 4 > | xyzw () const |
| VecBase (const T *ptr) | |
| template<typename U , BLI_ENABLE_IF((std::is_convertible_v< U, T >)) > | |
| VecBase (const U *ptr) | |
| VecBase (const T(*ptr)[Size]) | |
| template<typename U > | |
| VecBase (const VecBase< U, Size > &vec) | |
| operator const T * () const | |
| operator T* () | |
| const T & | operator[] (int index) const |
| T & | operator[] (int index) |
| VecBase & | operator+= (const VecBase &b) |
| VecBase & | operator+= (const T &b) |
| VecBase & | operator-= (const VecBase &b) |
| VecBase & | operator-= (const T &b) |
| VecBase & | operator*= (T b) |
| VecBase & | operator*= (const VecBase &b) |
| VecBase & | operator/= (T b) |
| VecBase & | operator/= (const VecBase &b) |
| BLI_INT_OP (T) friend VecBase operator&(const VecBase &a | |
| BLI_INT_OP (T) friend VecBase operator&(const VecBase &a | |
| BLI_INT_OP (T) friend VecBase operator&(T a | |
Public Attributes | |
| const VecBase & | b |
| T | b |
Public Attributes inherited from blender::vec_struct_base< T, Size > | |
| std::array< T, Size > | values |
Static Public Attributes | |
| static constexpr int | type_length = Size |
Friends | |
| VecBase | operator+ (const VecBase &a, const VecBase &b) |
| VecBase | operator+ (const VecBase &a, const T &b) |
| VecBase | operator+ (const T &a, const VecBase &b) |
| VecBase | operator- (const VecBase &a) |
| VecBase | operator- (const VecBase &a, const VecBase &b) |
| VecBase | operator- (const VecBase &a, const T &b) |
| VecBase | operator- (const T &a, const VecBase &b) |
| VecBase | operator* (const VecBase &a, const VecBase &b) |
| template<typename FactorT > | |
| VecBase | operator* (const VecBase &a, FactorT b) |
| VecBase | operator* (T a, const VecBase &b) |
| VecBase | operator/ (const VecBase &a, const VecBase &b) |
| VecBase | operator/ (const VecBase &a, T b) |
| VecBase | operator/ (T a, const VecBase &b) |
Definition at line 68 of file BLI_math_vector_types.hh.
| using blender::VecBase< T, Size >::base_type = T |
Definition at line 78 of file BLI_math_vector_types.hh.
| using blender::VecBase< T, Size >::uint_type = VecBase<as_uint_type<T>, Size> |
Definition at line 79 of file BLI_math_vector_types.hh.
|
default |
|
inlineexplicit |
Definition at line 83 of file BLI_math_vector_types.hh.
|
inlineexplicit |
Definition at line 91 of file BLI_math_vector_types.hh.
|
inline |
Definition at line 95 of file BLI_math_vector_types.hh.
|
inline |
Definition at line 100 of file BLI_math_vector_types.hh.
|
inline |
Definition at line 106 of file BLI_math_vector_types.hh.
References z().
|
inline |
Definition at line 113 of file BLI_math_vector_types.hh.
|
inlineconstexpr |
Mixed scalar-vector constructors.
Definition at line 124 of file BLI_math_vector_types.hh.
|
inlineconstexpr |
Definition at line 129 of file BLI_math_vector_types.hh.
|
inline |
Definition at line 134 of file BLI_math_vector_types.hh.
|
inline |
Definition at line 139 of file BLI_math_vector_types.hh.
Definition at line 144 of file BLI_math_vector_types.hh.
|
inline |
Definition at line 149 of file BLI_math_vector_types.hh.
|
inline |
Definition at line 154 of file BLI_math_vector_types.hh.
|
inline |
Definition at line 159 of file BLI_math_vector_types.hh.
|
inlineexplicit |
|
inline |
Conversion from pointers (from C-style vectors).
Definition at line 217 of file BLI_math_vector_types.hh.
References BLI_UNROLL_MATH_VEC_OP_INIT_INDEX, and ptr.
|
inlineexplicit |
Definition at line 222 of file BLI_math_vector_types.hh.
References BLI_UNROLL_MATH_VEC_OP_INIT_INDEX, and ptr.
|
inline |
Definition at line 227 of file BLI_math_vector_types.hh.
|
inlineexplicit |
Conversion from other vector types.
Definition at line 235 of file BLI_math_vector_types.hh.
References BLI_UNROLL_MATH_VEC_OP_INIT_VECTOR.
| blender::VecBase< T, Size >::BLI_INT_OP | ( | T | ) | const & |
Binary operators.
| blender::VecBase< T, Size >::BLI_INT_OP | ( | T | ) | const & |
| blender::VecBase< T, Size >::BLI_INT_OP | ( | T | ) | & |
References blender::VecBase< T, Size >::b, and BLI_UNROLL_MATH_VEC_OP_SCALAR_VEC.
| blender::VecBase< T, Size >::BLI_STATIC_ASSERT | ( | alignof(T)<=sizeof(T) | , |
| "VecBase< T, Size > is not compatible with aligned type for now." | ) |
|
inline |
C-style pointer dereference.
Definition at line 242 of file BLI_math_vector_types.hh.
|
inline |
Definition at line 247 of file BLI_math_vector_types.hh.
|
inline |
Definition at line 349 of file BLI_math_vector_types.hh.
References blender::VecBase< T, Size >::b, and BLI_UNROLL_MATH_VEC_OP_ASSIGN_VEC.
Definition at line 344 of file BLI_math_vector_types.hh.
References blender::VecBase< T, Size >::b, and BLI_UNROLL_MATH_VEC_OP_ASSIGN_SCALAR.
|
inline |
Definition at line 294 of file BLI_math_vector_types.hh.
References blender::VecBase< T, Size >::b, and BLI_UNROLL_MATH_VEC_OP_ASSIGN_SCALAR.
|
inline |
Definition at line 289 of file BLI_math_vector_types.hh.
References blender::VecBase< T, Size >::b, and BLI_UNROLL_MATH_VEC_OP_ASSIGN_VEC.
|
inline |
Definition at line 324 of file BLI_math_vector_types.hh.
References blender::VecBase< T, Size >::b, and BLI_UNROLL_MATH_VEC_OP_ASSIGN_SCALAR.
|
inline |
Definition at line 319 of file BLI_math_vector_types.hh.
References blender::VecBase< T, Size >::b, and BLI_UNROLL_MATH_VEC_OP_ASSIGN_VEC.
|
inline |
Definition at line 382 of file BLI_math_vector_types.hh.
References blender::VecBase< T, Size >::b, BLI_assert, BLI_UNROLL_MATH_VEC_OP_ASSIGN_VEC, and T.
Definition at line 376 of file BLI_math_vector_types.hh.
References blender::VecBase< T, Size >::b, BLI_assert, BLI_UNROLL_MATH_VEC_OP_ASSIGN_SCALAR, and T.
Definition at line 261 of file BLI_math_vector_types.hh.
References BLI_assert.
|
inline |
|
inline |
Swizzling.
Definition at line 175 of file BLI_math_vector_types.hh.
Referenced by blender::nodes::node_composite_cornerpin_cc::CornerPinOperation::compute_homography_matrix(), blender::compositor::dilate_max_velocity(), blender::draw::overlay::MeshUVs::end_sync(), blender::compositor::gather_sample(), blender::ed::greasepencil::generate_arc_from_point_to_point(), blender::ed::sculpt_paint::grease_pencil_fill_extension_cut(), blender::ed::sculpt_paint::grease_pencil_fill_extension_lines_from_circles(), blender::imbuf::transform::TransformContext::init(), blender::ed::sculpt_paint::min_distance_edit::min_distance_edit_invoke(), blender::ed::sculpt_paint::min_distance_edit::min_distance_edit_modal(), nla_transform_apply(), blender::draw::overlay::Cameras::object_sync(), EdgeSlideData::project(), VertSlideData::project(), blender::eevee::IrradianceBake::raylists_build(), blender::compositor::SMAABlendingWeightCalculationPS(), blender::compositor::SMAABlendingWeightCalculationVS(), blender::compositor::SMAACalculateDiagWeights(), blender::compositor::SMAADetectHorizontalCornerPattern(), blender::compositor::SMAADetectVerticalCornerPattern(), blender::compositor::SMAAEdgeDetectionVS(), blender::compositor::SMAALumaEdgeDetectionPS(), blender::compositor::SMAANeighborhoodBlendingPS(), blender::compositor::SMAASearchDiag1(), blender::compositor::SMAASearchDiag2(), blender::eevee::Camera::sync(), blender::tests::TEST(), VertSlideData::update_active_edges(), blender::draw::image_engine::OneTexture::update_bounds(), blender::draw::image_engine::ScreenTileTextures< Divisions >::update_bounds(), and blender::eevee::VolumeObjectBounds::VolumeObjectBounds().
|
inline |
Definition at line 190 of file BLI_math_vector_types.hh.
Referenced by blender::apply_gradient_tint(), blender::ed::sculpt_paint::grease_pencil_brush_cursor_draw(), blender::compositor::karis_brightness_weighted_sum(), blender::ed::sculpt_paint::mask::mask_by_color_contiguous_mesh(), blender::ed::sculpt_paint::mask::mask_by_color_full_mesh(), blender::draw::overlay::Lights::object_sync(), blender::draw::overlay::ModeTransfer::object_sync(), blender::compositor::SMAASearchDiag1(), blender::compositor::SMAASearchDiag2(), blender::tests::TEST(), tonemap_rd_photoreceptor(), tonemap_simple(), blender::compositor::KuwaharaAnisotropicOperation::update_memory_buffer_partial(), and blender::compositor::KuwaharaClassicOperation::update_memory_buffer_partial().
|
inline |
Definition at line 200 of file BLI_math_vector_types.hh.
Referenced by blender::tests::TEST().
|
inline |
Definition at line 180 of file BLI_math_vector_types.hh.
Referenced by blender::tests::TEST().
|
inline |
Definition at line 195 of file BLI_math_vector_types.hh.
Referenced by blender::tests::TEST(), blender::math::QuaternionBase< T >::twist(), and blender::math::QuaternionBase< T >::twist_angle().
|
inline |
Definition at line 185 of file BLI_math_vector_types.hh.
Referenced by blender::compositor::dilate_max_velocity(), blender::compositor::gather_sample(), blender::compositor::SMAABlendingWeightCalculationPS(), blender::compositor::SMAACalculateDiagWeights(), blender::compositor::SMAADetectHorizontalCornerPattern(), blender::compositor::SMAADetectVerticalCornerPattern(), blender::compositor::SMAALumaEdgeDetectionPS(), blender::compositor::SMAANeighborhoodBlendingPS(), blender::compositor::SMAASearchDiag1(), blender::compositor::SMAASearchDiag2(), blender::eevee::Camera::sync(), and blender::tests::TEST().
Definition at line 329 of file BLI_math_vector_types.hh.
Definition at line 334 of file BLI_math_vector_types.hh.
Definition at line 339 of file BLI_math_vector_types.hh.
Definition at line 284 of file BLI_math_vector_types.hh.
Definition at line 279 of file BLI_math_vector_types.hh.
Arithmetic operators.
Definition at line 274 of file BLI_math_vector_types.hh.
Definition at line 314 of file BLI_math_vector_types.hh.
Definition at line 299 of file BLI_math_vector_types.hh.
Definition at line 309 of file BLI_math_vector_types.hh.
Definition at line 304 of file BLI_math_vector_types.hh.
Definition at line 354 of file BLI_math_vector_types.hh.
Definition at line 362 of file BLI_math_vector_types.hh.
Definition at line 368 of file BLI_math_vector_types.hh.
| const VecBase & blender::VecBase< T, Size >::b |
Definition at line 392 of file BLI_math_vector_types.hh.
Referenced by blender::VecBase< T, Size >::BLI_INT_OP(), blender::bke::attribute_math::ColorGeometry4bMixer::mix_in(), blender::VecBase< T, Size >::operator*=(), blender::VecBase< T, Size >::operator*=(), blender::VecBase< T, Size >::operator+=(), blender::VecBase< T, Size >::operator+=(), blender::VecBase< T, Size >::operator-=(), blender::VecBase< T, Size >::operator-=(), blender::VecBase< T, Size >::operator/=(), blender::VecBase< T, Size >::operator/=(), and blender::io::obj::store_bsdf_properties().
| T blender::VecBase< T, Size >::b |
Definition at line 397 of file BLI_math_vector_types.hh.
|
staticconstexpr |
Definition at line 76 of file BLI_math_vector_types.hh.