Blender V4.5
Camera Class Reference

#include <DNA_camera_types.h>

Inherits Node.

Public Types

enum  RollingShutterType { ROLLING_SHUTTER_NONE = 0 , ROLLING_SHUTTER_TOP = 1 , ROLLING_SHUTTER_NUM_TYPES }
 
enum  StereoEye { STEREO_NONE , STEREO_LEFT , STEREO_RIGHT }
 

Public Member Functions

 Camera ()
 
 ~Camera () override
 
void compute_auto_viewplane ()
 
void update (Scene *scene)
 
void device_update (Device *device, DeviceScene *dscene, Scene *scene)
 
void device_update_volume (Device *device, DeviceScene *dscene, Scene *scene)
 
void device_free (Device *device, DeviceScene *dscene, Scene *scene)
 
BoundBox viewplane_bounds_get ()
 
float world_to_raster_size (const float3 P)
 
float motion_time (const int step) const
 
int motion_step (const float time) const
 
bool use_motion () const
 
uint get_kernel_features () const
 
bool set_screen_size (const int width_, int height_)
 
void set_osl_camera (Scene *scene, OSLCameraParamQuery &params, const std::string &filepath, const std::string &bytecode_hash="", const std::string &bytecode="")
 
void clear_osl_camera (Scene *scene)
 
- Public Member Functions inherited from Node
 Node (const NodeType *type, ustring name=ustring())
 
virtual ~Node ()=0
 
void set (const SocketType &input, bool value)
 
void set (const SocketType &input, const int value)
 
void set (const SocketType &input, const uint value)
 
void set (const SocketType &input, const uint64_t value)
 
void set (const SocketType &input, const float value)
 
void set (const SocketType &input, const float2 value)
 
void set (const SocketType &input, const float3 value)
 
void set (const SocketType &input, const char *value)
 
void set (const SocketType &input, ustring value)
 
void set (const SocketType &input, const Transform &value)
 
void set (const SocketType &input, Node *value)
 
template<class ValueType , std::enable_if_t< std::is_enum_v< ValueType >, bool > = true>
void set (const SocketType &input, const ValueType &value)
 
void set (const SocketType &input, array< bool > &value)
 
void set (const SocketType &input, array< int > &value)
 
void set (const SocketType &input, array< float > &value)
 
void set (const SocketType &input, array< float2 > &value)
 
void set (const SocketType &input, array< float3 > &value)
 
void set (const SocketType &input, array< ustring > &value)
 
void set (const SocketType &input, array< Transform > &value)
 
void set (const SocketType &input, array< Node * > &value)
 
bool get_bool (const SocketType &input) const
 
int get_int (const SocketType &input) const
 
uint get_uint (const SocketType &input) const
 
uint64_t get_uint64 (const SocketType &input) const
 
float get_float (const SocketType &input) const
 
float2 get_float2 (const SocketType &input) const
 
float3 get_float3 (const SocketType &input) const
 
ustring get_string (const SocketType &input) const
 
Transform get_transform (const SocketType &input) const
 
Nodeget_node (const SocketType &input) const
 
const array< bool > & get_bool_array (const SocketType &input) const
 
const array< int > & get_int_array (const SocketType &input) const
 
const array< float > & get_float_array (const SocketType &input) const
 
const array< float2 > & get_float2_array (const SocketType &input) const
 
const array< float3 > & get_float3_array (const SocketType &input) const
 
const array< ustring > & get_string_array (const SocketType &input) const
 
const array< Transform > & get_transform_array (const SocketType &input) const
 
const array< Node * > & get_node_array (const SocketType &input) const
 
bool has_default_value (const SocketType &input) const
 
void set_default_value (const SocketType &input)
 
bool equals_value (const Node &other, const SocketType &socket) const
 
void copy_value (const SocketType &socket, const Node &other, const SocketType &other_socket)
 
void set_value (const SocketType &socket, const Node &other, const SocketType &other_socket)
 
bool equals (const Node &other) const
 
void hash (MD5Hash &md5)
 
size_t get_total_size_in_bytes () const
 
bool is_a (const NodeType *type)
 
bool socket_is_modified (const SocketType &input) const
 
bool is_modified () const
 
void tag_modified ()
 
void clear_modified ()
 
void print_modified_sockets () const
 
const NodeOwnerget_owner () const
 
void set_owner (const NodeOwner *owner_)
 
int reference_count () const
 
void reference ()
 
void dereference ()
 
void clear_reference_count ()
 

Public Attributes

ID id
 
struct AnimDataadt
 
char type
 
char dtx
 
short flag
 
float passepartalpha
 
float clip_start
 
float clip_end
 
float lens
 
float ortho_scale
 
float drawsize
 
float sensor_x
 
float sensor_y
 
float shiftx
 
float shifty
 
float dof_distance DNA_DEPRECATED
 
char sensor_fit
 
char panorama_type
 
char _pad [2]
 
float fisheye_fov
 
float fisheye_lens
 
float latitude_min
 
float latitude_max
 
float longitude_min
 
float longitude_max
 
float fisheye_polynomial_k0
 
float fisheye_polynomial_k1
 
float fisheye_polynomial_k2
 
float fisheye_polynomial_k3
 
float fisheye_polynomial_k4
 
float central_cylindrical_range_u_min
 
float central_cylindrical_range_u_max
 
float central_cylindrical_range_v_min
 
float central_cylindrical_range_v_max
 
float central_cylindrical_radius
 
float _pad2
 
struct Textcustom_shader
 
char custom_filepath [1024]
 
char custom_bytecode_hash [64]
 
char * custom_bytecode
 
int custom_mode
 
int _pad3
 
struct Ipo *ipo DNA_DEPRECATED
 
struct Object *dof_ob DNA_DEPRECATED
 
struct GPUDOFSettings gpu_dof DNA_DEPRECATED
 
struct CameraDOFSettings dof
 
struct ListBase bg_images
 
struct CameraStereoSettings stereo
 
Camera_Runtime runtime
 
size_t shutter_table_offset
 
BoundBox2D viewplane
 
BoundBox2D border
 
BoundBox2D viewport_camera_border
 
ProjectionTransform screentoworld
 
ProjectionTransform rastertoworld
 
ProjectionTransform ndctoworld
 
Transform cameratoworld
 
ProjectionTransform worldtoraster
 
ProjectionTransform worldtoscreen
 
ProjectionTransform worldtondc
 
Transform worldtocamera
 
ProjectionTransform rastertocamera
 
ProjectionTransform full_rastertocamera
 
float3 dx
 
float3 dy
 
float3 full_dx
 
float3 full_dy
 
float3 frustum_right_normal
 
float3 frustum_top_normal
 
float3 frustum_left_normal
 
float3 frustum_bottom_normal
 
bool need_device_update
 
bool need_flags_update
 
int previous_need_motion
 
KernelCamera kernel_camera
 
array< DecomposedTransformkernel_camera_motion
 
std::string script_name
 
map< ustring, pair< vector< uint8_t >, TypeDesc > > script_params
 
- Public Attributes inherited from Node
ustring name
 
const NodeTypetype
 
InternalNode internal
 
LeafNode leaf
 

Additional Inherited Members

- Protected Member Functions inherited from Node
template<typename T >
void set_if_different (const SocketType &input, T value)
 
void set_if_different (const SocketType &input, Node *value)
 
template<typename T >
void set_if_different (const SocketType &input, array< T > &value)
 
void set_if_different (const SocketType &input, array< Node * > &value)
 
void dereference_all_used_nodes ()
 
- Static Protected Member Functions inherited from Node
template<typename T >
static Tget_socket_value (const Node *node, const SocketType &socket)
 
- Protected Attributes inherited from Node
const NodeOwnerowner
 
int ref_count {0}
 
SocketModifiedFlags socket_modified
 

Detailed Description

Definition at line 73 of file DNA_camera_types.h.

Member Enumeration Documentation

◆ RollingShutterType

Enumerator
ROLLING_SHUTTER_NONE 
ROLLING_SHUTTER_TOP 
ROLLING_SHUTTER_NUM_TYPES 

Definition at line 44 of file scene/camera.h.

◆ StereoEye

Enumerator
STEREO_NONE 
STEREO_LEFT 
STEREO_RIGHT 

Definition at line 54 of file scene/camera.h.

Constructor & Destructor Documentation

◆ Camera()

◆ ~Camera()

Camera::~Camera ( )
overridedefault

Member Function Documentation

◆ clear_osl_camera()

void Camera::clear_osl_camera ( Scene * scene)

Definition at line 1001 of file scene/camera.cpp.

References Scene::osl_manager, scene, script_name, and script_params.

Referenced by blender_camera_sync().

◆ compute_auto_viewplane()

void Camera::compute_auto_viewplane ( )

Definition at line 201 of file scene/camera.cpp.

References CAMERA_CUSTOM, CAMERA_PANORAMA, make_float2(), and viewplane.

Referenced by Camera().

◆ device_free()

void Camera::device_free ( Device * device,
DeviceScene * dscene,
Scene * scene )

◆ device_update()

void Camera::device_update ( Device * device,
DeviceScene * dscene,
Scene * scene )

Definition at line 501 of file scene/camera.cpp.

References need_device_update, scene, time, timer, update(), and Scene::update_stats.

◆ device_update_volume()

◆ get_kernel_features()

uint Camera::get_kernel_features ( ) const

Definition at line 1017 of file scene/camera.cpp.

References KERNEL_FEATURE_OSL_CAMERA, and script_name.

◆ motion_step()

int Camera::motion_step ( const float time) const

Definition at line 882 of file scene/camera.cpp.

References motion_time(), step, time, and use_motion().

◆ motion_time()

float Camera::motion_time ( const int step) const

Definition at line 877 of file scene/camera.cpp.

References step, and use_motion().

Referenced by motion_step().

◆ set_osl_camera()

void Camera::set_osl_camera ( Scene * scene,
OSLCameraParamQuery & params,
const std::string & filepath,
const std::string & bytecode_hash = "",
const std::string & bytecode = "" )

◆ set_screen_size()

bool Camera::set_screen_size ( const int width_,
int height_ )

Definition at line 865 of file scene/camera.cpp.

References Node::tag_modified().

◆ update()

void Camera::update ( Scene * scene)

◆ use_motion()

bool Camera::use_motion ( ) const

Definition at line 860 of file scene/camera.cpp.

Referenced by motion_step(), and motion_time().

◆ viewplane_bounds_get()

◆ world_to_raster_size()

Member Data Documentation

◆ _pad

char Camera::_pad[2]

Definition at line 97 of file DNA_camera_types.h.

◆ _pad2

float Camera::_pad2

Definition at line 116 of file DNA_camera_types.h.

◆ _pad3

int Camera::_pad3

Definition at line 126 of file DNA_camera_types.h.

◆ adt

struct AnimData* Camera::adt

Animation data (must be immediately after id for utilities to use it).

Definition at line 81 of file DNA_camera_types.h.

Referenced by acf_dscam_setting_ptr(), bc_getSceneCameraAnimData(), make_new_animlistelem(), and AnimationImporter::translate_Animations().

◆ bg_images

◆ border

BoundBox2D Camera::border

Definition at line 138 of file scene/camera.h.

Referenced by BlenderSync::get_buffer_params().

◆ cameratoworld

Transform Camera::cameratoworld

Definition at line 163 of file scene/camera.h.

Referenced by Camera(), viewplane_bounds_get(), and world_to_raster_size().

◆ central_cylindrical_radius

float Camera::central_cylindrical_radius

Definition at line 115 of file DNA_camera_types.h.

Referenced by blo_do_versions_430().

◆ central_cylindrical_range_u_max

float Camera::central_cylindrical_range_u_max

Definition at line 112 of file DNA_camera_types.h.

Referenced by blo_do_versions_430().

◆ central_cylindrical_range_u_min

float Camera::central_cylindrical_range_u_min

Definition at line 111 of file DNA_camera_types.h.

Referenced by blo_do_versions_430().

◆ central_cylindrical_range_v_max

float Camera::central_cylindrical_range_v_max

Definition at line 114 of file DNA_camera_types.h.

Referenced by blo_do_versions_430().

◆ central_cylindrical_range_v_min

float Camera::central_cylindrical_range_v_min

Definition at line 113 of file DNA_camera_types.h.

Referenced by blo_do_versions_430().

◆ clip_end

◆ clip_start

◆ custom_bytecode

char* Camera::custom_bytecode

◆ custom_bytecode_hash

char Camera::custom_bytecode_hash[64]

Definition at line 123 of file DNA_camera_types.h.

◆ custom_filepath

char Camera::custom_filepath[1024]

◆ custom_mode

int Camera::custom_mode

◆ custom_shader

struct Text* Camera::custom_shader

◆ DNA_DEPRECATED [1/4]

float dof_distance Camera::DNA_DEPRECATED

Definition at line 93 of file DNA_camera_types.h.

◆ DNA_DEPRECATED [2/4]

struct Ipo* ipo Camera::DNA_DEPRECATED

Old animation system, deprecated for 2.5.

Definition at line 129 of file DNA_camera_types.h.

◆ DNA_DEPRECATED [3/4]

struct Object* dof_ob Camera::DNA_DEPRECATED

Definition at line 131 of file DNA_camera_types.h.

◆ DNA_DEPRECATED [4/4]

struct GPUDOFSettings gpu_dof Camera::DNA_DEPRECATED

Definition at line 132 of file DNA_camera_types.h.

◆ dof

◆ drawsize

◆ dtx

char Camera::dtx

Draw type extra.

Definition at line 86 of file DNA_camera_types.h.

Referenced by drawviewborder().

◆ dx

float3 Camera::dx

Definition at line 174 of file scene/camera.h.

Referenced by Camera(), and world_to_raster_size().

◆ dy

float3 Camera::dy

Definition at line 175 of file scene/camera.h.

Referenced by Camera().

◆ fisheye_fov

float Camera::fisheye_fov

◆ fisheye_lens

float Camera::fisheye_lens

◆ fisheye_polynomial_k0

float Camera::fisheye_polynomial_k0

◆ fisheye_polynomial_k1

float Camera::fisheye_polynomial_k1

◆ fisheye_polynomial_k2

float Camera::fisheye_polynomial_k2

◆ fisheye_polynomial_k3

float Camera::fisheye_polynomial_k3

◆ fisheye_polynomial_k4

float Camera::fisheye_polynomial_k4

◆ flag

◆ frustum_bottom_normal

float3 Camera::frustum_bottom_normal

Definition at line 183 of file scene/camera.h.

Referenced by world_to_raster_size().

◆ frustum_left_normal

float3 Camera::frustum_left_normal

Definition at line 182 of file scene/camera.h.

Referenced by world_to_raster_size().

◆ frustum_right_normal

float3 Camera::frustum_right_normal

Definition at line 180 of file scene/camera.h.

Referenced by world_to_raster_size().

◆ frustum_top_normal

float3 Camera::frustum_top_normal

Definition at line 181 of file scene/camera.h.

Referenced by world_to_raster_size().

◆ full_dx

float3 Camera::full_dx

Definition at line 177 of file scene/camera.h.

Referenced by world_to_raster_size().

◆ full_dy

float3 Camera::full_dy

Definition at line 178 of file scene/camera.h.

Referenced by world_to_raster_size().

◆ full_rastertocamera

ProjectionTransform Camera::full_rastertocamera

Definition at line 172 of file scene/camera.h.

Referenced by Camera(), and world_to_raster_size().

◆ id

◆ kernel_camera

KernelCamera Camera::kernel_camera

Definition at line 191 of file scene/camera.h.

Referenced by Camera(), device_update_volume(), and world_to_raster_size().

◆ kernel_camera_motion

array<DecomposedTransform> Camera::kernel_camera_motion

Definition at line 192 of file scene/camera.h.

Referenced by world_to_raster_size().

◆ latitude_max

float Camera::latitude_max

◆ latitude_min

float Camera::latitude_min

◆ lens

◆ longitude_max

float Camera::longitude_max

◆ longitude_min

float Camera::longitude_min

◆ ndctoworld

ProjectionTransform Camera::ndctoworld

Definition at line 162 of file scene/camera.h.

Referenced by Camera().

◆ need_device_update

bool Camera::need_device_update

Definition at line 186 of file scene/camera.h.

Referenced by Camera(), device_update(), device_update_volume(), and update().

◆ need_flags_update

bool Camera::need_flags_update

Definition at line 187 of file scene/camera.h.

Referenced by Camera(), device_update_volume(), and xml_read_camera().

◆ ortho_scale

◆ panorama_type

char Camera::panorama_type

◆ passepartalpha

float Camera::passepartalpha

Definition at line 88 of file DNA_camera_types.h.

Referenced by blo_do_versions_pre250(), and drawviewborder().

◆ previous_need_motion

int Camera::previous_need_motion

Definition at line 188 of file scene/camera.h.

Referenced by Camera(), and update().

◆ rastertocamera

ProjectionTransform Camera::rastertocamera

Definition at line 170 of file scene/camera.h.

Referenced by Camera().

◆ rastertoworld

ProjectionTransform Camera::rastertoworld

Definition at line 161 of file scene/camera.h.

Referenced by Camera().

◆ runtime

Camera_Runtime Camera::runtime

Runtime data (keep last).

Definition at line 142 of file DNA_camera_types.h.

◆ screentoworld

ProjectionTransform Camera::screentoworld

Definition at line 160 of file scene/camera.h.

Referenced by Camera().

◆ script_name

std::string Camera::script_name

Definition at line 195 of file scene/camera.h.

Referenced by clear_osl_camera(), get_kernel_features(), and set_osl_camera().

◆ script_params

map<ustring, pair<vector<uint8_t>, TypeDesc> > Camera::script_params

Definition at line 196 of file scene/camera.h.

Referenced by clear_osl_camera(), and set_osl_camera().

◆ sensor_fit

◆ sensor_x

◆ sensor_y

◆ shiftx

◆ shifty

◆ shutter_table_offset

size_t Camera::shutter_table_offset

Definition at line 64 of file scene/camera.h.

Referenced by Camera(), and device_free().

◆ stereo

◆ type

◆ viewplane

BoundBox2D Camera::viewplane

Definition at line 125 of file scene/camera.h.

Referenced by compute_auto_viewplane().

◆ viewport_camera_border

BoundBox2D Camera::viewport_camera_border

Definition at line 144 of file scene/camera.h.

◆ worldtocamera

Transform Camera::worldtocamera

Definition at line 168 of file scene/camera.h.

Referenced by world_to_raster_size().

◆ worldtondc

ProjectionTransform Camera::worldtondc

Definition at line 167 of file scene/camera.h.

◆ worldtoraster

ProjectionTransform Camera::worldtoraster

Definition at line 165 of file scene/camera.h.

Referenced by Camera(), and EdgeDice::eval_projected().

◆ worldtoscreen

ProjectionTransform Camera::worldtoscreen

Definition at line 166 of file scene/camera.h.


The documentation for this class was generated from the following files: