39 model =
object.object_to_world();
51 stream <<
"ObjectMatrices(" << std::endl;
52 stream <<
"model=" << matrices.
model <<
", " << std::endl;
53 stream <<
"model_inverse=" << matrices.
model_inverse <<
")" << std::endl;
72 bool is_active_object,
73 bool is_active_edit_mode)
162 stream <<
"ObjectInfos(";
164 stream <<
"skipped)" << std::endl;
167 stream <<
"orco_add=" << infos.
orco_add <<
", ";
168 stream <<
"orco_mul=" << infos.
orco_mul <<
", ";
169 stream <<
"ob_color=" << infos.
ob_color <<
", ";
170 stream <<
"index=" << infos.
index <<
", ";
171 stream <<
"random=" << infos.
random <<
", ";
172 stream <<
"flag=" << infos.
flag <<
")" << std::endl;
217 if (inflate_bounds != 0.0f) {
219 float p = inflate_bounds;
220 float n = -inflate_bounds;
239 stream <<
"ObjectBounds(";
240 if (
bounds.bounding_sphere.w == -1.0f) {
241 stream <<
"skipped)" << std::endl;
245 stream <<
".bounding_corners[0]"
246 << *
reinterpret_cast<const float3 *
>(&
bounds.bounding_corners[0]) << std::endl;
247 stream <<
".bounding_corners[1]"
248 << *
reinterpret_cast<const float3 *
>(&
bounds.bounding_corners[1]) << std::endl;
249 stream <<
".bounding_corners[2]"
250 << *
reinterpret_cast<const float3 *
>(&
bounds.bounding_corners[2]) << std::endl;
251 stream <<
".bounding_corners[3]"
252 << *
reinterpret_cast<const float3 *
>(&
bounds.bounding_corners[3]) << std::endl;
253 stream <<
".sphere=(pos=" <<
float3(
bounds.bounding_sphere)
254 <<
", rad=" <<
bounds.bounding_sphere.w << std::endl;
255 stream <<
")" << std::endl;
void BKE_curve_texspace_ensure(Curve *cu)
void BKE_mesh_texspace_get(Mesh *mesh, float r_texspace_location[3], float r_texspace_size[3])
General operations, lookup, etc. for blender objects.
std::optional< blender::Bounds< blender::float3 > > BKE_object_boundbox_get(const Object *ob)
std::optional< blender::Bounds< blender::float3 > > BKE_volume_min_max(const Volume *volume)
#define SET_FLAG_FROM_TEST(value, test, flag)
Object is a sort of wrapper for general info.
#define BASE_SELECTED(v3d, base)
T & DRW_object_get_data_for_drawing(const Object &object)
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
static btDbvtVolume bounds(btDbvtNode **leaves, int count)
LightLinking * light_linking() const
reduce_max(value.rgb)") DEFINE_VALUE("REDUCE(lhs
std::ostream & operator<<(std::ostream &stream, const ObjectMatrices &matrices)
@ OBJECT_ACTIVE_EDIT_MODE
std::array< VecBase< T, 3 >, 8 > corners(const Bounds< VecBase< T, 3 > > &bounds)
CartesianBasis invert(const CartesianBasis &basis)
T midpoint(const T &a, const T &b)
VecBase< T, 3 > to_scale(const MatBase< T, NumCol, NumRow > &mat)
MatBase< float, 4, 4 > float4x4
VecBase< float, 4 > float4
VecBase< float, 3 > float3
float texspace_location[3]
uint8_t blocker_shadow_set
uint8_t receiver_light_set
LightLinkingRuntime runtime
float4 bounding_corners[4]
float shadow_terminator_normal_offset
uint light_and_shadow_set_membership
float shadow_terminator_geometry_offset
void sync(const Object &object)
float shadow_terminator_geometry_offset
float shadow_terminator_normal_offset