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 void * add_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)
 
AbcObjectReader * create_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