Blender  V3.3
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
blender::io::alembic Namespace Reference

Namespaces

 utils
 

Classes

class  ABCArchive
 
class  CustomPropertiesExporter
 
struct  ABCWriterConstructorArgs
 
class  ABCHierarchyIterator
 
class  SubdivModifierDisabler
 
class  ABCAbstractWriter
 
class  ABCCameraWriter
 
class  ABCCurveWriter
 
class  ABCCurveMeshWriter
 
class  ABCHairWriter
 
class  ABCInstanceWriter
 
class  ABCMetaballWriter
 
class  ABCGenericMeshWriter
 
class  ABCMeshWriter
 
class  ABCNurbsWriter
 
class  ABCNurbsMeshWriter
 
class  ABCPointsWriter
 
class  ABCTransformWriter
 
struct  UVSample
 
struct  CDStreamConfig
 
class  ArchiveReader
 
class  AbcCameraReader
 
class  AbcCurveReader
 
struct  AbcMeshData
 
class  AbcMeshReader
 
class  AbcSubDReader
 
class  AbcNurbsReader
 
struct  ImportSettings
 
class  AbcObjectReader
 
class  AbcPointsReader
 
class  AbcEmptyReader
 
class  ScopeTimer
 
class  SimpleLogger
 
class  AlembicExportTest
 

Typedefs

using index_time_pair_t = std::pair< Alembic::AbcCoreAbstract::index_t, Alembic::AbcGeom::chrono_t >
 

Enumerations

enum  AbcAxisSwapMode { ABC_ZUP_FROM_YUP = 1 , ABC_YUP_FROM_ZUP = 2 }
 
enum  AbcMatrixMode { ABC_MATRIX_WORLD = 1 , ABC_MATRIX_LOCAL = 2 }
 
enum  AbcUvScope { ABC_UV_SCOPE_NONE , ABC_UV_SCOPE_LOOP , ABC_UV_SCOPE_VERTEX }
 

Functions

static MetaData create_abc_metadata (const Main *bmain, double scene_fps)
 
static OArchive * create_archive (std::ofstream *abc_ostream, const std::string &filename, MetaData &abc_metadata)
 
static void get_shutter_samples (double scene_fps, const AlembicExportParams &params, int nr_of_samples, bool time_relative, std::vector< double > &r_samples)
 
static TimeSamplingPtr create_time_sampling (double scene_fps, const AlembicExportParams &params, int nr_of_samples)
 
static void get_frames (double scene_fps, const AlembicExportParams &params, unsigned int nr_of_samples, std::set< double > &r_frames)
 
static void build_depsgraph (Depsgraph *depsgraph, const bool visible_objects_only)
 
static void report_job_duration (const ExportJobData *data)
 
static void export_startjob (void *customdata, short *stop, short *do_update, float *progress)
 
static void export_endjob (void *customdata)
 
const std::string ABC_CURVE_RESOLUTION_U_PROPNAME ("blender:resolution")
 
static void get_vertices (struct Mesh *mesh, std::vector< Imath::V3f > &points)
 
static void get_topology (struct Mesh *mesh, std::vector< int32_t > &poly_verts, std::vector< int32_t > &loop_counts, bool &r_has_flat_shaded_poly)
 
static void get_edge_creases (struct Mesh *mesh, std::vector< int32_t > &indices, std::vector< int32_t > &lengths, std::vector< float > &sharpnesses)
 
static void get_vert_creases (struct Mesh *mesh, std::vector< int32_t > &indices, std::vector< float > &sharpnesses)
 
static void get_loop_normals (struct Mesh *mesh, std::vector< Imath::V3f > &normals, bool has_flat_shaded_poly)
 
static void get_knots (std::vector< float > &knots, const int num_knots, float *nu_knots)
 
void create_swapped_rotation_matrix (float rot_x_mat[3][3], float rot_y_mat[3][3], float rot_z_mat[3][3], const float euler[3], AbcAxisSwapMode mode)
 
void copy_m44_axis_swap (float dst_mat[4][4], float src_mat[4][4], AbcAxisSwapMode mode)
 
void create_transform_matrix (Object *obj, float r_yup_mat[4][4], AbcMatrixMode mode, Object *proxy_from)
 
BLI_INLINE void copy_zup_from_yup (float zup[3], const float yup[3])
 
BLI_INLINE void copy_zup_from_yup (short zup[3], const short yup[3])
 
BLI_INLINE void copy_yup_from_zup (float yup[3], const float zup[3])
 
BLI_INLINE void copy_yup_from_zup (short yup[3], const short zup[3])
 
static const std::string propNameOriginalCoordinates ("Pref")
 
static void get_uvs (const CDStreamConfig &config, std::vector< Imath::V2f > &uvs, std::vector< uint32_t > &uvidx, const void *cd_data)
 
const char * get_uv_sample (UVSample &sample, const CDStreamConfig &config, CustomData *data)
 
static void write_uv (const OCompoundProperty &prop, CDStreamConfig &config, const void *data, const char *name)
 
static void get_cols (const CDStreamConfig &config, std::vector< Imath::C4f > &buffer, std::vector< uint32_t > &uvidx, const void *cd_data)
 
static void write_mcol (const OCompoundProperty &prop, CDStreamConfig &config, const void *data, const char *name)
 
void write_generated_coordinates (const OCompoundProperty &prop, CDStreamConfig &config)
 
void write_custom_data (const OCompoundProperty &prop, CDStreamConfig &config, CustomData *data, int data_type)
 
static void read_uvs (const CDStreamConfig &config, void *data, const AbcUvScope uv_scope, const Alembic::AbcGeom::V2fArraySamplePtr &uvs, const UInt32ArraySamplePtr &indices)
 
static size_t mcols_out_of_bounds_check (const size_t color_index, const size_t array_size, const std::string &iobject_full_name, const PropertyHeader &prop_header, bool &r_is_out_of_bounds, bool &r_bounds_warning_given)
 
static void read_custom_data_mcols (const std::string &iobject_full_name, const ICompoundProperty &arbGeomParams, const PropertyHeader &prop_header, const CDStreamConfig &config, const Alembic::Abc::ISampleSelector &iss)
 
static void read_custom_data_uvs (const ICompoundProperty &prop, const PropertyHeader &prop_header, const CDStreamConfig &config, const Alembic::Abc::ISampleSelector &iss)
 
void read_generated_coordinates (const ICompoundProperty &prop, const CDStreamConfig &config, const Alembic::Abc::ISampleSelector &iss)
 
void read_custom_data (const std::string &iobject_full_name, const ICompoundProperty &prop, const CDStreamConfig &config, const Alembic::Abc::ISampleSelector &iss)
 
AbcUvScope get_uv_scope (const Alembic::AbcGeom::GeometryScope scope, const CDStreamConfig &config, const Alembic::AbcGeom::UInt32ArraySamplePtr &indices)
 
static IArchive open_archive (const std::string &filename, const std::vector< std::istream * > &input_streams)
 
static void read_mverts_interp (MVert *mverts, const P3fArraySamplePtr &positions, const P3fArraySamplePtr &ceil_positions, const double weight)
 
static void read_mverts (CDStreamConfig &config, const AbcMeshData &mesh_data)
 
void read_mverts (Mesh &mesh, const P3fArraySamplePtr positions, const N3fArraySamplePtr normals)
 
static void read_mpolys (CDStreamConfig &config, const AbcMeshData &mesh_data)
 
static void process_no_normals (CDStreamConfig &config)
 
static void process_loop_normals (CDStreamConfig &config, const N3fArraySamplePtr loop_normals_ptr)
 
static void process_vertex_normals (CDStreamConfig &config, const N3fArraySamplePtr vertex_normals_ptr)
 
static void process_normals (CDStreamConfig &config, const IN3fGeomParam &normals, const ISampleSelector &selector)
 
BLI_INLINE void read_uvs_params (CDStreamConfig &config, AbcMeshData &abc_data, const IV2fGeomParam &uv, const ISampleSelector &selector)
 
static voidadd_customdata_cb (Mesh *mesh, const char *name, int data_type)
 
static void get_weight_and_index (CDStreamConfig &config, Alembic::AbcCoreAbstract::TimeSamplingPtr time_sampling, size_t samples_number)
 
static V3fArraySamplePtr get_velocity_prop (const ICompoundProperty &schema, const ISampleSelector &selector, const std::string &name)
 
static void read_velocity (const V3fArraySamplePtr &velocities, const CDStreamConfig &config, const float velocity_scale)
 
static void read_mesh_sample (const std::string &iobject_full_name, ImportSettings *settings, const IPolyMeshSchema &schema, const ISampleSelector &selector, CDStreamConfig &config)
 
CDStreamConfig get_config (Mesh *mesh, const bool use_vertex_interpolation)
 
template<class typedGeomParam >
bool is_valid_animated (const ICompoundProperty arbGeomParams, const PropertyHeader &prop_header)
 
static bool has_animated_geom_params (const ICompoundProperty arbGeomParams)
 
template<>
bool has_animations (Alembic::AbcGeom::IPolyMeshSchema &schema, ImportSettings *settings)
 
static void read_subd_sample (const std::string &iobject_full_name, ImportSettings *settings, const ISubDSchema &schema, const ISampleSelector &selector, CDStreamConfig &config)
 
static void read_vertex_creases (Mesh *mesh, const Int32ArraySamplePtr &indices, const FloatArraySamplePtr &sharpnesses)
 
static void read_edge_creases (Mesh *mesh, const Int32ArraySamplePtr &indices, const FloatArraySamplePtr &sharpnesses)
 
void read_mverts (Mesh &mesh, const Alembic::AbcGeom::P3fArraySamplePtr positions, const Alembic::AbcGeom::N3fArraySamplePtr normals)
 
static bool set_knots (const FloatArraySamplePtr &knots, float *&nu_knots)
 
static Imath::M44d blend_matrices (const Imath::M44d &m0, const Imath::M44d &m1, const double weight)
 
Imath::M44d get_matrix (const IXformSchema &schema, const chrono_t time)
 
template<typename Schema >
static bool has_animations (Schema &schema, ImportSettings *settings)
 
Imath::M44d get_matrix (const Alembic::AbcGeom::IXformSchema &schema, chrono_t time)
 
void read_points_sample (const IPointsSchema &schema, const ISampleSelector &selector, CDStreamConfig &config)
 
void read_points_sample (const Alembic::AbcGeom::IPointsSchema &schema, const Alembic::AbcGeom::ISampleSelector &selector, CDStreamConfig &config)
 
std::string get_id_name (const Object *const ob)
 
std::string get_id_name (const ID *const id)
 
std::string get_valid_abc_name (const char *name)
 
std::string get_object_dag_path_name (const Object *const ob, Object *dupli_parent)
 get_object_dag_path_name returns the name under which the object will be exported in the Alembic file. It is of the form "[../grandparent/]parent/object" if dupli_parent is NULL, or "dupli_parent/[../grandparent/]parent/object" otherwise. More...
 
Imath::M44d convert_matrix_datatype (float mat[4][4])
 
void convert_matrix_datatype (const Imath::M44d &xform, float r_mat[4][4])
 
void split (const std::string &s, const char delim, std::vector< std::string > &tokens)
 
bool has_property (const Alembic::Abc::ICompoundProperty &prop, const std::string &name)
 
double get_weight_and_index (Alembic::AbcGeom::chrono_t time, const Alembic::AbcCoreAbstract::TimeSamplingPtr &time_sampling, int samples_number, Alembic::AbcGeom::index_t &i0, Alembic::AbcGeom::index_t &i1)
 
AbcObjectReadercreate_reader (const Alembic::AbcGeom::IObject &object, ImportSettings &settings)
 
std::ostream & operator<< (std::ostream &os, const SimpleLogger &logger)
 
template<class TContainer >
bool begins_with (const TContainer &input, const TContainer &match)
 
template<typename Schema >
void get_min_max_time_ex (const Schema &schema, chrono_t &min, chrono_t &max)
 
template<typename Schema >
void get_min_max_time (const Alembic::AbcGeom::IObject &object, const Schema &schema, chrono_t &min, chrono_t &max)
 
double get_weight_and_index (Alembic::AbcCoreAbstract::chrono_t time, const Alembic::AbcCoreAbstract::TimeSamplingPtr &time_sampling, int samples_number, Alembic::AbcGeom::index_t &i0, Alembic::AbcGeom::index_t &i1)
 
 TEST_F (AlembicExportTest, TimeSamplesFullShutterUniform)
 
 TEST_F (AlembicExportTest, TimeSamplesFullShutterDifferent)
 
 TEST_F (AlembicExportTest, TimeSamples180degShutter)
 
 TEST (abc_matrix, CreateRotationMatrixY_YfromZ)
 
 TEST (abc_matrix, CreateRotationMatrixZ_YfromZ)
 
 TEST (abc_matrix, CreateRotationMatrixXYZ_YfromZ)
 
 TEST (abc_matrix, CreateRotationMatrixXYZ_ZfromY)
 
 TEST (abc_matrix, CopyM44AxisSwap_YfromZ)
 
 TEST (abc_matrix, CopyM44AxisSwapWithScale_YfromZ)
 
 TEST (abc_matrix, CopyM44AxisSwap_ZfromY)
 
 TEST (abc_matrix, CopyM44AxisSwapWithScale_ZfromY)
 
 TEST (abc_matrix, CopyM44AxisSwapWithScale_gimbal_ZfromY)
 

Variables

const std::string ABC_CURVE_RESOLUTION_U_PROPNAME
 

Typedef Documentation

◆ index_time_pair_t

using blender::io::alembic::index_time_pair_t = typedef std::pair<Alembic::AbcCoreAbstract::index_t, Alembic::AbcGeom::chrono_t>

Definition at line 115 of file abc_util.cc.

Enumeration Type Documentation

◆ AbcAxisSwapMode

Enumerator
ABC_ZUP_FROM_YUP 
ABC_YUP_FROM_ZUP 

Definition at line 59 of file abc_axis_conversion.h.

◆ AbcMatrixMode

Enumerator
ABC_MATRIX_WORLD 
ABC_MATRIX_LOCAL 

Definition at line 80 of file abc_axis_conversion.h.

◆ AbcUvScope

Enumerator
ABC_UV_SCOPE_NONE 
ABC_UV_SCOPE_LOOP 
ABC_UV_SCOPE_VERTEX 

Definition at line 113 of file abc_customdata.h.

Function Documentation

◆ ABC_CURVE_RESOLUTION_U_PROPNAME()

const std::string blender::io::alembic::ABC_CURVE_RESOLUTION_U_PROPNAME ( "blender:resolution"  )

◆ add_customdata_cb()

static void* blender::io::alembic::add_customdata_cb ( Mesh mesh,
const char *  name,
int  data_type 
)
static

◆ begins_with()

template<class TContainer >
bool blender::io::alembic::begins_with ( const TContainer &  input,
const TContainer &  match 
)

Definition at line 42 of file abc_util.h.

References input.

◆ blend_matrices()

static Imath::M44d blender::io::alembic::blend_matrices ( const Imath::M44d &  m0,
const Imath::M44d &  m1,
const double  weight 
)
static

Definition at line 100 of file abc_reader_object.cc.

References convert_matrix_datatype(), interp_m4_m4m4(), and ret.

Referenced by get_matrix().

◆ build_depsgraph()

static void blender::io::alembic::build_depsgraph ( Depsgraph depsgraph,
const bool  visible_objects_only 
)
static

◆ convert_matrix_datatype() [1/2]

void blender::io::alembic::convert_matrix_datatype ( const Imath::M44d &  xform,
float  r_mat[4][4] 
)

Definition at line 83 of file abc_util.cc.

◆ convert_matrix_datatype() [2/2]

Imath::M44d blender::io::alembic::convert_matrix_datatype ( float  mat[4][4])

◆ copy_m44_axis_swap()

void blender::io::alembic::copy_m44_axis_swap ( float  dst_mat[4][4],
float  src_mat[4][4],
AbcAxisSwapMode  mode 
)

◆ copy_yup_from_zup() [1/2]

BLI_INLINE void blender::io::alembic::copy_yup_from_zup ( float  yup[3],
const float  zup[3] 
)

◆ copy_yup_from_zup() [2/2]

BLI_INLINE void blender::io::alembic::copy_yup_from_zup ( short  yup[3],
const short  zup[3] 
)

Definition at line 48 of file abc_axis_conversion.h.

◆ copy_zup_from_yup() [1/2]

BLI_INLINE void blender::io::alembic::copy_zup_from_yup ( float  zup[3],
const float  yup[3] 
)

◆ copy_zup_from_yup() [2/2]

BLI_INLINE void blender::io::alembic::copy_zup_from_yup ( short  zup[3],
const short  yup[3] 
)

Definition at line 30 of file abc_axis_conversion.h.

◆ create_abc_metadata()

static MetaData blender::io::alembic::create_abc_metadata ( const Main bmain,
double  scene_fps 
)
static

◆ create_archive()

static OArchive* blender::io::alembic::create_archive ( std::ofstream *  abc_ostream,
const std::string &  filename,
MetaData &  abc_metadata 
)
static

◆ create_reader()

AbcObjectReader * blender::io::alembic::create_reader ( const Alembic::AbcGeom::IObject &  object,
ImportSettings settings 
)

Definition at line 151 of file abc_util.cc.

Referenced by CacheReader_open_alembic_object().

◆ create_swapped_rotation_matrix()

void blender::io::alembic::create_swapped_rotation_matrix ( float  rot_x_mat[3][3],
float  rot_y_mat[3][3],
float  rot_z_mat[3][3],
const float  euler[3],
AbcAxisSwapMode  mode 
)

Create a rotation matrix for each axis from euler angles. Euler angles are swapped to change coordinate system.

Definition at line 16 of file abc_axis_conversion.cc.

References ABC_YUP_FROM_ZUP, ABC_ZUP_FROM_YUP, BLI_assert, KDL::cos(), KDL::sin(), and unit_m3().

Referenced by copy_m44_axis_swap(), and TEST().

◆ create_time_sampling()

static TimeSamplingPtr blender::io::alembic::create_time_sampling ( double  scene_fps,
const AlembicExportParams params,
int  nr_of_samples 
)
static

Definition at line 121 of file abc_archive.cc.

References get_shutter_samples(), and params.

Referenced by blender::io::alembic::ABCArchive::ABCArchive().

◆ create_transform_matrix()

void blender::io::alembic::create_transform_matrix ( Object obj,
float  r_yup_mat[4][4],
AbcMatrixMode  mode,
Object proxy_from 
)

Recompute transform matrix of object in new coordinate system (from Z-Up to Y-Up).

Definition at line 126 of file abc_axis_conversion.cc.

References ABC_MATRIX_LOCAL, ABC_YUP_FROM_ZUP, copy_m44_axis_swap(), copy_m4_m4(), Object::imat, invert_m4_m4(), mul_m4_m4m4(), Object::obmat, and Object::parent.

◆ export_endjob()

static void blender::io::alembic::export_endjob ( void customdata)
static

◆ export_startjob()

static void blender::io::alembic::export_startjob ( void customdata,
short *  stop,
short *  do_update,
float progress 
)
static

◆ get_cols()

static void blender::io::alembic::get_cols ( const CDStreamConfig config,
std::vector< Imath::C4f > &  buffer,
std::vector< uint32_t > &  uvidx,
const void cd_data 
)
static

◆ get_config()

CDStreamConfig blender::io::alembic::get_config ( Mesh mesh,
const bool  use_vertex_interpolation 
)

◆ get_edge_creases()

static void blender::io::alembic::get_edge_creases ( struct Mesh mesh,
std::vector< int32_t > &  indices,
std::vector< int32_t > &  lengths,
std::vector< float > &  sharpnesses 
)
static

Definition at line 476 of file abc_writer_mesh.cc.

References e, indices, Mesh::medge, mesh, Mesh::totedge, v1, and v2.

◆ get_frames()

static void blender::io::alembic::get_frames ( double  scene_fps,
const AlembicExportParams params,
unsigned int  nr_of_samples,
std::set< double > &  r_frames 
)
static

Definition at line 137 of file abc_archive.cc.

References get_shutter_samples(), and params.

Referenced by blender::io::alembic::ABCArchive::ABCArchive().

◆ get_id_name() [1/2]

std::string blender::io::alembic::get_id_name ( const ID *const  id)

Definition at line 38 of file abc_util.cc.

References get_valid_abc_name(), id, and ID::name.

◆ get_id_name() [2/2]

std::string blender::io::alembic::get_id_name ( const Object *const  ob)

Definition at line 29 of file abc_util.cc.

References Object::id.

Referenced by get_object_dag_path_name().

◆ get_knots()

static void blender::io::alembic::get_knots ( std::vector< float > &  knots,
const int  num_knots,
float nu_knots 
)
static

Definition at line 90 of file abc_writer_nurbs.cc.

Referenced by blender::io::alembic::ABCNurbsWriter::do_write().

◆ get_loop_normals()

static void blender::io::alembic::get_loop_normals ( struct Mesh mesh,
std::vector< Imath::V3f > &  normals,
bool  has_flat_shaded_poly 
)
static

◆ get_matrix() [1/2]

Imath::M44d blender::io::alembic::get_matrix ( const Alembic::AbcGeom::IXformSchema &  schema,
chrono_t  time 
)

◆ get_matrix() [2/2]

Imath::M44d blender::io::alembic::get_matrix ( const IXformSchema &  schema,
const chrono_t  time 
)

◆ get_min_max_time()

template<typename Schema >
void blender::io::alembic::get_min_max_time ( const Alembic::AbcGeom::IObject &  object,
const Schema &  schema,
chrono_t &  min,
chrono_t &  max 
)

◆ get_min_max_time_ex()

template<typename Schema >
void blender::io::alembic::get_min_max_time_ex ( const Schema &  schema,
chrono_t &  min,
chrono_t &  max 
)

Definition at line 48 of file abc_util.h.

References max, and min.

Referenced by get_min_max_time().

◆ get_object_dag_path_name()

std::string blender::io::alembic::get_object_dag_path_name ( const Object *const  ob,
Object dupli_parent 
)

get_object_dag_path_name returns the name under which the object will be exported in the Alembic file. It is of the form "[../grandparent/]parent/object" if dupli_parent is NULL, or "dupli_parent/[../grandparent/]parent/object" otherwise.

Parameters
ob
dupli_parent
Returns

Definition at line 52 of file abc_util.cc.

References get_id_name(), and Object::parent.

◆ get_shutter_samples()

static void blender::io::alembic::get_shutter_samples ( double  scene_fps,
const AlembicExportParams params,
int  nr_of_samples,
bool  time_relative,
std::vector< double > &  r_samples 
)
static

Definition at line 100 of file abc_archive.cc.

References params, sample, and time.

Referenced by create_time_sampling(), and get_frames().

◆ get_topology()

static void blender::io::alembic::get_topology ( struct Mesh mesh,
std::vector< int32_t > &  poly_verts,
std::vector< int32_t > &  loop_counts,
bool r_has_flat_shaded_poly 
)
static

◆ get_uv_sample()

const char * blender::io::alembic::get_uv_sample ( UVSample sample,
const CDStreamConfig config,
CustomData data 
)

◆ get_uv_scope()

AbcUvScope blender::io::alembic::get_uv_scope ( const Alembic::AbcGeom::GeometryScope  scope,
const CDStreamConfig config,
const Alembic::AbcGeom::UInt32ArraySamplePtr &  indices 
)

UVs can be defined per-loop (one value per vertex per face), or per-vertex (one value per vertex). The first case is the most common, as this is the standard way of storing this data given that some vertices might be on UV seams and have multiple possible UV coordinates; the second case can happen when the mesh is split according to the UV islands, in which case storing a single UV value per vertex allows to de-duplicate data and thus to reduce the file size since vertices are guaranteed to only have a single UV coordinate.

Definition at line 591 of file abc_customdata.cc.

References ABC_UV_SCOPE_LOOP, ABC_UV_SCOPE_NONE, ABC_UV_SCOPE_VERTEX, ELEM, indices, blender::io::alembic::CDStreamConfig::totloop, and blender::io::alembic::CDStreamConfig::totvert.

Referenced by read_custom_data_uvs(), and read_uvs_params().

◆ get_uvs()

static void blender::io::alembic::get_uvs ( const CDStreamConfig config,
std::vector< Imath::V2f > &  uvs,
std::vector< uint32_t > &  uvidx,
const void cd_data 
)
static

◆ get_valid_abc_name()

std::string blender::io::alembic::get_valid_abc_name ( const char *  name)

Definition at line 43 of file abc_util.cc.

Referenced by get_id_name().

◆ get_velocity_prop()

static V3fArraySamplePtr blender::io::alembic::get_velocity_prop ( const ICompoundProperty &  schema,
const ISampleSelector &  selector,
const std::string &  name 
)
static

Definition at line 415 of file abc_reader_mesh.cc.

References has_property().

Referenced by read_mesh_sample(), and read_subd_sample().

◆ get_vert_creases()

static void blender::io::alembic::get_vert_creases ( struct Mesh mesh,
std::vector< int32_t > &  indices,
std::vector< float > &  sharpnesses 
)
static

Definition at line 502 of file abc_writer_mesh.cc.

References CD_CREASE, CustomData_get_layer(), indices, mesh, Mesh::totvert, v, and Mesh::vdata.

◆ get_vertices()

static void blender::io::alembic::get_vertices ( struct Mesh mesh,
std::vector< Imath::V3f > &  points 
)
static

Definition at line 433 of file abc_writer_mesh.cc.

References copy_yup_from_zup(), e, mesh, Mesh::mvert, Mesh::totvert, and verts.

◆ get_weight_and_index() [1/3]

double blender::io::alembic::get_weight_and_index ( Alembic::AbcCoreAbstract::chrono_t  time,
const Alembic::AbcCoreAbstract::TimeSamplingPtr &  time_sampling,
int  samples_number,
Alembic::AbcGeom::index_t &  i0,
Alembic::AbcGeom::index_t &  i1 
)

◆ get_weight_and_index() [2/3]

double blender::io::alembic::get_weight_and_index ( Alembic::AbcGeom::chrono_t  time,
const Alembic::AbcCoreAbstract::TimeSamplingPtr &  time_sampling,
int  samples_number,
Alembic::AbcGeom::index_t &  i0,
Alembic::AbcGeom::index_t &  i1 
)

Definition at line 117 of file abc_util.cc.

References fabs(), i1, max, and time.

◆ get_weight_and_index() [3/3]

static void blender::io::alembic::get_weight_and_index ( CDStreamConfig config,
Alembic::AbcCoreAbstract::TimeSamplingPtr  time_sampling,
size_t  samples_number 
)
static

◆ has_animated_geom_params()

static bool blender::io::alembic::has_animated_geom_params ( const ICompoundProperty  arbGeomParams)
static

Definition at line 568 of file abc_reader_mesh.cc.

Referenced by has_animations().

◆ has_animations() [1/2]

template<>
bool blender::io::alembic::has_animations ( Alembic::AbcGeom::IPolyMeshSchema &  schema,
ImportSettings settings 
)

◆ has_animations() [2/2]

template<typename Schema >
static bool blender::io::alembic::has_animations ( Schema &  schema,
ImportSettings settings 
)
static

◆ has_property()

bool blender::io::alembic::has_property ( const Alembic::Abc::ICompoundProperty &  prop,
const std::string &  name 
)

◆ is_valid_animated()

template<class typedGeomParam >
bool blender::io::alembic::is_valid_animated ( const ICompoundProperty  arbGeomParams,
const PropertyHeader &  prop_header 
)

Definition at line 558 of file abc_reader_mesh.cc.

◆ mcols_out_of_bounds_check()

static size_t blender::io::alembic::mcols_out_of_bounds_check ( const size_t  color_index,
const size_t  array_size,
const std::string &  iobject_full_name,
const PropertyHeader &  prop_header,
bool r_is_out_of_bounds,
bool r_bounds_warning_given 
)
static

Definition at line 347 of file abc_customdata.cc.

Referenced by read_custom_data_mcols().

◆ open_archive()

static IArchive blender::io::alembic::open_archive ( const std::string &  filename,
const std::vector< std::istream * > &  input_streams 
)
static

Definition at line 30 of file abc_reader_archive.cc.

References e.

◆ operator<<()

std::ostream & blender::io::alembic::operator<< ( std::ostream &  os,
const SimpleLogger logger 
)

Pass the content of the logger's stream to the specified std::ostream.

Definition at line 233 of file abc_util.cc.

References blender::io::alembic::SimpleLogger::str().

◆ process_loop_normals()

static void blender::io::alembic::process_loop_normals ( CDStreamConfig config,
const N3fArraySamplePtr  loop_normals_ptr 
)
static

◆ process_no_normals()

static void blender::io::alembic::process_no_normals ( CDStreamConfig config)
static

◆ process_normals()

static void blender::io::alembic::process_normals ( CDStreamConfig config,
const IN3fGeomParam &  normals,
const ISampleSelector &  selector 
)
static

◆ process_vertex_normals()

static void blender::io::alembic::process_vertex_normals ( CDStreamConfig config,
const N3fArraySamplePtr  vertex_normals_ptr 
)
static

◆ propNameOriginalCoordinates()

static const std::string blender::io::alembic::propNameOriginalCoordinates ( "Pref"  )
static

◆ read_custom_data()

void blender::io::alembic::read_custom_data ( const std::string &  iobject_full_name,
const ICompoundProperty &  prop,
const CDStreamConfig config,
const Alembic::Abc::ISampleSelector &  iss 
)

◆ read_custom_data_mcols()

static void blender::io::alembic::read_custom_data_mcols ( const std::string &  iobject_full_name,
const ICompoundProperty &  arbGeomParams,
const PropertyHeader &  prop_header,
const CDStreamConfig config,
const Alembic::Abc::ISampleSelector &  iss 
)
static

◆ read_custom_data_uvs()

static void blender::io::alembic::read_custom_data_uvs ( const ICompoundProperty &  prop,
const PropertyHeader &  prop_header,
const CDStreamConfig config,
const Alembic::Abc::ISampleSelector &  iss 
)
static

◆ read_edge_creases()

static void blender::io::alembic::read_edge_creases ( Mesh mesh,
const Int32ArraySamplePtr &  indices,
const FloatArraySamplePtr &  sharpnesses 
)
static

◆ read_generated_coordinates()

void blender::io::alembic::read_generated_coordinates ( const ICompoundProperty &  prop,
const CDStreamConfig config,
const Alembic::Abc::ISampleSelector &  iss 
)

◆ read_mesh_sample()

static void blender::io::alembic::read_mesh_sample ( const std::string &  iobject_full_name,
ImportSettings settings,
const IPolyMeshSchema &  schema,
const ISampleSelector &  selector,
CDStreamConfig config 
)
static

◆ read_mpolys()

static void blender::io::alembic::read_mpolys ( CDStreamConfig config,
const AbcMeshData mesh_data 
)
static

◆ read_mverts() [1/3]

static void blender::io::alembic::read_mverts ( CDStreamConfig config,
const AbcMeshData mesh_data 
)
static

◆ read_mverts() [2/3]

void blender::io::alembic::read_mverts ( Mesh mesh,
const Alembic::AbcGeom::P3fArraySamplePtr  positions,
const Alembic::AbcGeom::N3fArraySamplePtr  normals 
)

◆ read_mverts() [3/3]

void blender::io::alembic::read_mverts ( Mesh mesh,
const P3fArraySamplePtr  positions,
const N3fArraySamplePtr  normals 
)

◆ read_mverts_interp()

static void blender::io::alembic::read_mverts_interp ( MVert mverts,
const P3fArraySamplePtr &  positions,
const P3fArraySamplePtr &  ceil_positions,
const double  weight 
)
static

Definition at line 125 of file abc_reader_mesh.cc.

References MVert::bweight, MVert::co, copy_zup_from_yup(), interp_v3_v3v3(), and positions.

Referenced by read_mverts().

◆ read_points_sample() [1/2]

void blender::io::alembic::read_points_sample ( const Alembic::AbcGeom::IPointsSchema &  schema,
const Alembic::AbcGeom::ISampleSelector &  selector,
CDStreamConfig config 
)

◆ read_points_sample() [2/2]

void blender::io::alembic::read_points_sample ( const IPointsSchema &  schema,
const ISampleSelector &  selector,
CDStreamConfig config 
)

◆ read_subd_sample()

static void blender::io::alembic::read_subd_sample ( const std::string &  iobject_full_name,
ImportSettings settings,
const ISubDSchema &  schema,
const ISampleSelector &  selector,
CDStreamConfig config 
)
static

◆ read_uvs()

static void blender::io::alembic::read_uvs ( const CDStreamConfig config,
void data,
const AbcUvScope  uv_scope,
const Alembic::AbcGeom::V2fArraySamplePtr &  uvs,
const UInt32ArraySamplePtr &  indices 
)
static

◆ read_uvs_params()

BLI_INLINE void blender::io::alembic::read_uvs_params ( CDStreamConfig config,
AbcMeshData abc_data,
const IV2fGeomParam &  uv,
const ISampleSelector &  selector 
)

◆ read_velocity()

static void blender::io::alembic::read_velocity ( const V3fArraySamplePtr &  velocities,
const CDStreamConfig config,
const float  velocity_scale 
)
static

◆ read_vertex_creases()

static void blender::io::alembic::read_vertex_creases ( Mesh mesh,
const Int32ArraySamplePtr &  indices,
const FloatArraySamplePtr &  sharpnesses 
)
static

◆ report_job_duration()

static void blender::io::alembic::report_job_duration ( const ExportJobData data)
static

Definition at line 64 of file abc_export_capi.cc.

References data, and blender::timeit::print_duration().

Referenced by export_endjob(), and import_endjob().

◆ set_knots()

static bool blender::io::alembic::set_knots ( const FloatArraySamplePtr &  knots,
float *&  nu_knots 
)
static

Definition at line 80 of file abc_reader_nurbs.cc.

References MEM_callocN.

Referenced by blender::io::alembic::AbcNurbsReader::readObjectData().

◆ split()

void blender::io::alembic::split ( const std::string &  s,
const char  delim,
std::vector< std::string > &  tokens 
)

Definition at line 92 of file abc_util.cc.

Referenced by Freestyle::__recursiveSplit(), blender::io::alembic::AbcObjectReader::AbcObjectReader(), add_attribute_search_or_value_buttons(), adduplicateflagNurb(), area_split(), bchunk_list_ensure_min_size_last(), BKE_unit_value_as_string_adaptive(), block_create__close_file_dialog(), block_create_autorun_warning(), block_create_save_file_forwardcompat_dialog(), BM_edgeloop_expand(), BVHBuild::build_node(), blender::compositor::CalculateMeanOperation::calc_mean(), colorband_buttons_layout(), create_edge_from_corner(), create_split_edge_from_corner(), curve_delete_segments(), curvemap_buttons_layout(), draw_property_for_output_socket(), ed_preview_draw_rect(), find_iobject(), generator_panel_draw(), get_dface(), graph_panel_key_properties(), internal_dependencies_panel_draw(), MOD_solidify_nonmanifold_modifyMesh(), blender::ed::space_node::node_buts_image_user(), blender::nodes::node_composite_colorbalance_cc::node_composit_buts_colorbalance(), blender::nodes::node_shader_tangent_cc::node_shader_buts_tangent(), remap_faces_15(), remap_faces_19_21_22(), remap_faces_23(), remap_faces_3_6_9_12(), remap_faces_5_10(), remap_faces_7_11_13_14(), remap_uvs_15(), remap_uvs_19_21_22(), remap_uvs_23(), remap_uvs_3_6_9_12(), remap_uvs_5_10(), remap_uvs_7_11_13_14(), remdoubles_splitface(), shader_preview_render(), sound_mixdown_exec(), Mesh::tessellate(), ui_def_but_rna__menu(), ui_litem_layout_split(), blender::ed::space_node::ui_template_node_link_menu(), uiItemsEnumR(), uiItemsFullEnumO_items(), uiLayoutSplit(), uiTemplateAnyID(), uiTemplateMovieClip(), undo_history_draw_menu(), unit_as_string_main(), blender::compositor::CalculateStandardDeviationOperation::update_memory_buffer_started(), blender::compositor::TonemapOperation::update_memory_buffer_started(), v3d_transform_butsR(), and view3d_panel_vgroup().

◆ TEST() [1/9]

blender::io::alembic::TEST ( abc_matrix  ,
CopyM44AxisSwap_YfromZ   
)

Definition at line 147 of file abc_matrix_test.cc.

References ABC_YUP_FROM_ZUP, copy_m44_axis_swap(), input, and result.

◆ TEST() [2/9]

blender::io::alembic::TEST ( abc_matrix  ,
CopyM44AxisSwap_ZfromY   
)

Definition at line 207 of file abc_matrix_test.cc.

References ABC_ZUP_FROM_YUP, copy_m44_axis_swap(), input, and result.

◆ TEST() [3/9]

blender::io::alembic::TEST ( abc_matrix  ,
CopyM44AxisSwapWithScale_gimbal_ZfromY   
)

Definition at line 263 of file abc_matrix_test.cc.

References ABC_ZUP_FROM_YUP, copy_m44_axis_swap(), input, and result.

◆ TEST() [4/9]

blender::io::alembic::TEST ( abc_matrix  ,
CopyM44AxisSwapWithScale_YfromZ   
)

Definition at line 178 of file abc_matrix_test.cc.

References ABC_YUP_FROM_ZUP, copy_m44_axis_swap(), input, and result.

◆ TEST() [5/9]

blender::io::alembic::TEST ( abc_matrix  ,
CopyM44AxisSwapWithScale_ZfromY   
)

Definition at line 234 of file abc_matrix_test.cc.

References ABC_ZUP_FROM_YUP, copy_m44_axis_swap(), input, and result.

◆ TEST() [6/9]

blender::io::alembic::TEST ( abc_matrix  ,
CreateRotationMatrixXYZ_YfromZ   
)

Definition at line 67 of file abc_matrix_test.cc.

References ABC_YUP_FROM_ZUP, create_swapped_rotation_matrix(), and unit_m3().

◆ TEST() [7/9]

blender::io::alembic::TEST ( abc_matrix  ,
CreateRotationMatrixXYZ_ZfromY   
)

Definition at line 107 of file abc_matrix_test.cc.

References ABC_ZUP_FROM_YUP, create_swapped_rotation_matrix(), and unit_m3().

◆ TEST() [8/9]

blender::io::alembic::TEST ( abc_matrix  ,
CreateRotationMatrixY_YfromZ   
)

◆ TEST() [9/9]

blender::io::alembic::TEST ( abc_matrix  ,
CreateRotationMatrixZ_YfromZ   
)

◆ TEST_F() [1/3]

blender::io::alembic::TEST_F ( AlembicExportTest  ,
TimeSamples180degShutter   
)

Definition at line 139 of file abc_export_test.cc.

References e, EXPECT_EQ(), and params.

◆ TEST_F() [2/3]

blender::io::alembic::TEST_F ( AlembicExportTest  ,
TimeSamplesFullShutterDifferent   
)

Definition at line 101 of file abc_export_test.cc.

References e, EXPECT_EQ(), and params.

◆ TEST_F() [3/3]

blender::io::alembic::TEST_F ( AlembicExportTest  ,
TimeSamplesFullShutterUniform   
)

Definition at line 73 of file abc_export_test.cc.

References e, EXPECT_EQ(), and params.

◆ write_custom_data()

void blender::io::alembic::write_custom_data ( const OCompoundProperty &  prop,
CDStreamConfig config,
CustomData data,
int  data_type 
)

◆ write_generated_coordinates()

void blender::io::alembic::write_generated_coordinates ( const OCompoundProperty &  prop,
CDStreamConfig config 
)

◆ write_mcol()

static void blender::io::alembic::write_mcol ( const OCompoundProperty &  prop,
CDStreamConfig config,
const void data,
const char *  name 
)
static

◆ write_uv()

static void blender::io::alembic::write_uv ( const OCompoundProperty &  prop,
CDStreamConfig config,
const void data,
const char *  name 
)
static

Variable Documentation

◆ ABC_CURVE_RESOLUTION_U_PROPNAME

const std::string blender::io::alembic::ABC_CURVE_RESOLUTION_U_PROPNAME
extern