[Bf-blender-cvs] [6e48f98e436] temp-sybren-alembic: Cleanup: separated Alembic code into reader and writer files
Sybren A. Stüvel
noreply at git.blender.org
Fri Jan 31 15:05:19 CET 2020
Commit: 6e48f98e4360dccdf440823af5b55e9e175553fd
Author: Sybren A. Stüvel
Date: Fri Jan 31 12:47:23 2020 +0100
Branches: temp-sybren-alembic
https://developer.blender.org/rB6e48f98e4360dccdf440823af5b55e9e175553fd
Cleanup: separated Alembic code into reader and writer files
This is in preparation of using the AbstractHierarchyIterator from the USD
exporter.
No functional changes.
===================================================================
M source/blender/alembic/CMakeLists.txt
M source/blender/alembic/intern/abc_exporter.cc
R062 source/blender/alembic/intern/abc_camera.cc source/blender/alembic/intern/abc_reader_camera.cc
A source/blender/alembic/intern/abc_reader_camera.h
R066 source/blender/alembic/intern/abc_curves.cc source/blender/alembic/intern/abc_reader_curves.cc
R062 source/blender/alembic/intern/abc_curves.h source/blender/alembic/intern/abc_reader_curves.h
R063 source/blender/alembic/intern/abc_mesh.cc source/blender/alembic/intern/abc_reader_mesh.cc
R057 source/blender/alembic/intern/abc_mesh.h source/blender/alembic/intern/abc_reader_mesh.h
R058 source/blender/alembic/intern/abc_nurbs.cc source/blender/alembic/intern/abc_reader_nurbs.cc
R064 source/blender/alembic/intern/abc_nurbs.h source/blender/alembic/intern/abc_reader_nurbs.h
R083 source/blender/alembic/intern/abc_object.cc source/blender/alembic/intern/abc_reader_object.cc
R080 source/blender/alembic/intern/abc_object.h source/blender/alembic/intern/abc_reader_object.h
R065 source/blender/alembic/intern/abc_points.cc source/blender/alembic/intern/abc_reader_points.cc
R072 source/blender/alembic/intern/abc_points.h source/blender/alembic/intern/abc_reader_points.h
A source/blender/alembic/intern/abc_reader_transform.cc
A source/blender/alembic/intern/abc_reader_transform.h
M source/blender/alembic/intern/abc_util.cc
A source/blender/alembic/intern/abc_writer_camera.cc
R067 source/blender/alembic/intern/abc_camera.h source/blender/alembic/intern/abc_writer_camera.h
A source/blender/alembic/intern/abc_writer_curves.cc
A source/blender/alembic/intern/abc_writer_curves.h
R099 source/blender/alembic/intern/abc_hair.cc source/blender/alembic/intern/abc_writer_hair.cc
R091 source/blender/alembic/intern/abc_hair.h source/blender/alembic/intern/abc_writer_hair.h
R096 source/blender/alembic/intern/abc_mball.cc source/blender/alembic/intern/abc_writer_mball.cc
R091 source/blender/alembic/intern/abc_mball.h source/blender/alembic/intern/abc_writer_mball.h
A source/blender/alembic/intern/abc_writer_mesh.cc
A source/blender/alembic/intern/abc_writer_mesh.h
A source/blender/alembic/intern/abc_writer_nurbs.cc
A source/blender/alembic/intern/abc_writer_nurbs.h
A source/blender/alembic/intern/abc_writer_object.cc
A source/blender/alembic/intern/abc_writer_object.h
A source/blender/alembic/intern/abc_writer_points.cc
A source/blender/alembic/intern/abc_writer_points.h
R072 source/blender/alembic/intern/abc_transform.cc source/blender/alembic/intern/abc_writer_transform.cc
R067 source/blender/alembic/intern/abc_transform.h source/blender/alembic/intern/abc_writer_transform.h
M source/blender/alembic/intern/alembic_capi.cc
===================================================================
diff --git a/source/blender/alembic/CMakeLists.txt b/source/blender/alembic/CMakeLists.txt
index 4618246013a..2909b2f1792 100644
--- a/source/blender/alembic/CMakeLists.txt
+++ b/source/blender/alembic/CMakeLists.txt
@@ -42,34 +42,48 @@ set(INC_SYS
set(SRC
intern/abc_archive.cc
- intern/abc_camera.cc
- intern/abc_curves.cc
intern/abc_customdata.cc
intern/abc_exporter.cc
- intern/abc_hair.cc
- intern/abc_mball.cc
- intern/abc_mesh.cc
- intern/abc_nurbs.cc
- intern/abc_object.cc
- intern/abc_points.cc
- intern/abc_transform.cc
+ intern/abc_reader_camera.cc
+ intern/abc_reader_curves.cc
+ intern/abc_reader_mesh.cc
+ intern/abc_reader_nurbs.cc
+ intern/abc_reader_object.cc
+ intern/abc_reader_points.cc
+ intern/abc_reader_transform.cc
intern/abc_util.cc
+ intern/abc_writer_camera.cc
+ intern/abc_writer_curves.cc
+ intern/abc_writer_hair.cc
+ intern/abc_writer_mball.cc
+ intern/abc_writer_mesh.cc
+ intern/abc_writer_nurbs.cc
+ intern/abc_writer_object.cc
+ intern/abc_writer_points.cc
+ intern/abc_writer_transform.cc
intern/alembic_capi.cc
ABC_alembic.h
intern/abc_archive.h
- intern/abc_camera.h
- intern/abc_curves.h
intern/abc_customdata.h
intern/abc_exporter.h
- intern/abc_hair.h
- intern/abc_mball.h
- intern/abc_mesh.h
- intern/abc_nurbs.h
- intern/abc_object.h
- intern/abc_points.h
- intern/abc_transform.h
+ intern/abc_reader_camera.h
+ intern/abc_reader_curves.h
+ intern/abc_reader_mesh.h
+ intern/abc_reader_nurbs.h
+ intern/abc_reader_object.h
+ intern/abc_reader_points.h
+ intern/abc_reader_transform.h
intern/abc_util.h
+ intern/abc_writer_camera.h
+ intern/abc_writer_curves.h
+ intern/abc_writer_hair.h
+ intern/abc_writer_mball.h
+ intern/abc_writer_mesh.h
+ intern/abc_writer_nurbs.h
+ intern/abc_writer_object.h
+ intern/abc_writer_points.h
+ intern/abc_writer_transform.h
)
set(LIB
diff --git a/source/blender/alembic/intern/abc_exporter.cc b/source/blender/alembic/intern/abc_exporter.cc
index c2201c706bc..404124f702b 100644
--- a/source/blender/alembic/intern/abc_exporter.cc
+++ b/source/blender/alembic/intern/abc_exporter.cc
@@ -23,14 +23,14 @@
#include <cmath>
#include "abc_archive.h"
-#include "abc_camera.h"
-#include "abc_curves.h"
-#include "abc_hair.h"
-#include "abc_mball.h"
-#include "abc_mesh.h"
-#include "abc_nurbs.h"
-#include "abc_points.h"
-#include "abc_transform.h"
+#include "abc_writer_camera.h"
+#include "abc_writer_curves.h"
+#include "abc_writer_hair.h"
+#include "abc_writer_mball.h"
+#include "abc_writer_mesh.h"
+#include "abc_writer_nurbs.h"
+#include "abc_writer_points.h"
+#include "abc_writer_transform.h"
#include "abc_util.h"
extern "C" {
diff --git a/source/blender/alembic/intern/abc_camera.cc b/source/blender/alembic/intern/abc_reader_camera.cc
similarity index 62%
rename from source/blender/alembic/intern/abc_camera.cc
rename to source/blender/alembic/intern/abc_reader_camera.cc
index dc7f00b63d9..c5f752cdf9a 100644
--- a/source/blender/alembic/intern/abc_camera.cc
+++ b/source/blender/alembic/intern/abc_reader_camera.cc
@@ -18,9 +18,9 @@
* \ingroup balembic
*/
-#include "abc_camera.h"
+#include "abc_reader_camera.h"
-#include "abc_transform.h"
+#include "abc_reader_transform.h"
#include "abc_util.h"
extern "C" {
@@ -34,72 +34,13 @@ extern "C" {
#include "BLI_string.h"
}
+using Alembic::AbcGeom::CameraSample;
using Alembic::AbcGeom::ICamera;
using Alembic::AbcGeom::ICompoundProperty;
using Alembic::AbcGeom::IFloatProperty;
using Alembic::AbcGeom::ISampleSelector;
-
-using Alembic::AbcGeom::OCamera;
-using Alembic::AbcGeom::OFloatProperty;
-
-using Alembic::AbcGeom::CameraSample;
using Alembic::AbcGeom::kWrapExisting;
-/* ************************************************************************** */
-
-AbcCameraWriter::AbcCameraWriter(Object *ob,
- AbcTransformWriter *parent,
- uint32_t time_sampling,
- ExportSettings &settings)
- : AbcObjectWriter(ob, time_sampling, settings, parent)
-{
- OCamera camera(parent->alembicXform(), m_name, m_time_sampling);
- m_camera_schema = camera.getSchema();
-
- m_custom_data_container = m_camera_schema.getUserProperties();
- m_stereo_distance = OFloatProperty(m_custom_data_container, "stereoDistance", m_time_sampling);
- m_eye_separation = OFloatProperty(m_custom_data_container, "eyeSeparation", m_time_sampling);
-}
-
-void AbcCameraWriter::do_write()
-{
- Camera *cam = static_cast<Camera *>(m_object->data);
-
- m_stereo_distance.set(cam->stereo.convergence_distance);
- m_eye_separation.set(cam->stereo.interocular_distance);
-
- const double apperture_x = cam->sensor_x / 10.0;
- const double apperture_y = cam->sensor_y / 10.0;
- const double film_aspect = apperture_x / apperture_y;
-
- m_camera_sample.setFocalLength(cam->lens);
- m_camera_sample.setHorizontalAperture(apperture_x);
- m_camera_sample.setVerticalAperture(apperture_y);
- m_camera_sample.setHorizontalFilmOffset(apperture_x * cam->shiftx);
- m_camera_sample.setVerticalFilmOffset(apperture_y * cam->shifty * film_aspect);
- m_camera_sample.setNearClippingPlane(cam->clip_start);
- m_camera_sample.setFarClippingPlane(cam->clip_end);
-
- if (cam->dof.focus_object) {
- Imath::V3f v(m_object->loc[0] - cam->dof.focus_object->loc[0],
- m_object->loc[1] - cam->dof.focus_object->loc[1],
- m_object->loc[2] - cam->dof.focus_object->loc[2]);
- m_camera_sample.setFocusDistance(v.length());
- }
- else {
- m_camera_sample.setFocusDistance(cam->dof.focus_distance);
- }
-
- /* Blender camera does not have an fstop param, so try to find a custom prop
- * instead. */
- m_camera_sample.setFStop(cam->dof.aperture_fstop);
-
- m_camera_sample.setLensSqueezeRatio(1.0);
- m_camera_schema.set(m_camera_sample);
-}
-
-/* ************************************************************************** */
-
AbcCameraReader::AbcCameraReader(const Alembic::Abc::IObject &object, ImportSettings &settings)
: AbcObjectReader(object, settings)
{
diff --git a/source/blender/alembic/intern/abc_camera.h b/source/blender/alembic/intern/abc_reader_camera.h
similarity index 61%
copy from source/blender/alembic/intern/abc_camera.h
copy to source/blender/alembic/intern/abc_reader_camera.h
index 28169cb7d85..1d9763b0454 100644
--- a/source/blender/alembic/intern/abc_camera.h
+++ b/source/blender/alembic/intern/abc_reader_camera.h
@@ -18,31 +18,10 @@
* \ingroup balembic
*/
-#ifndef __ABC_CAMERA_H__
-#define __ABC_CAMERA_H__
+#ifndef __ABC_READER_CAMERA_H__
+#define __ABC_READER_CAMERA_H__
-#include "abc_object.h"
-
-/* ************************************************************************** */
-
-class AbcCameraWriter : public AbcObjectWriter {
- Alembic::AbcGeom::OCameraSchema m_camera_schema;
- Alembic::AbcGeom::CameraSample m_camera_sample;
- Alembic::AbcGeom::OCompoundProperty m_custom_data_container;
- Alembic::AbcGeom::OFloatProperty m_stereo_distance;
- Alembic::AbcGeom::OFloatProperty m_eye_separation;
-
- public:
- AbcCameraWriter(Object *ob,
- AbcTransformWriter *parent,
- uint32_t time_sampling,
- ExportSettings &settings);
-
- private:
- virtual void do_write();
-};
-
-/* ************************************************************************** */
+#include "abc_reader_object.h"
class AbcCameraReader : public AbcObjectReader {
Alembic::AbcGeom::ICameraSchema m_schema;
@@ -58,4 +37,4 @@ class AbcCameraReader : public AbcObjectReader {
void readObjectData(Main *bmain, const Alembic::Abc::ISampleSelector &sample_sel);
};
-#endif /* __ABC_CAMERA_H__ */
+#endif /* __ABC_READER_CAMERA_H__ */
diff --git a/source/blender/alembic/intern/abc_curves.cc b/source/blender/alembic/intern/abc_reader_curves.cc
similarity index 66%
rename from source/blender/alembic/intern/abc_curves.cc
rename to source/blender/alembic/intern/abc_reader_curves.cc
index 3b143356c04..3a52a5a1d72 100644
--- a/source/blender/alembic/intern/abc_curves.cc
+++ b/source/blender/alembic/intern/abc_reader_curves.cc
@@ -21,11 +21,11 @@
* \ingroup balembic
*/
-#include "abc_curves.h"
+#include "abc_reader_curves.h"
#include <cstdio>
-#include "abc_transform.h"
+#include "abc_reader_transform.h"
#include "abc_util.h"
#include "MEM_guardedalloc.h"
@@ -44,7 +44,6 @@ extern "C" {
}
using Alembic::Abc::FloatArraySamplePtr;
-using Alembic::Abc::IInt32ArrayProperty;
using Alembic::Abc::Int32ArraySamplePtr;
using Alembic::Abc::P3fArraySamplePtr;
using Alembic::Abc::PropertyHeader;
@@ -59,165 +58,6 @@ using Alembic::AbcGeom::IInt16Property;
using Alembic::AbcGeom::ISampleSelector;
using Alembic::AbcGeom::kWrapExisting;
-using Alembic::AbcGeom::OCompoundProperty;
-using Alembic::AbcGeom::OCurves;
-using Alembic::AbcGeom::OCurvesSchema;
-using Alembic::AbcGeom::OInt16Property;
-using Alembic::AbcGeom::ON3fGeomParam;
-using Alembic::AbcGeom::OV2fGeomParam;
-
-#define ABC_CURVE_RESOLUTION_U_PROPNAME "blender:resolution"
-
-/* ************************************************************************** */
-
-AbcCurveWriter::AbcCurveWriter(Object *ob,
- AbcTransformWriter *parent,
- uint32_t time_sampling,
- ExportSettings &settings)
- : AbcObjectWriter(ob, time_sampling, settings, parent)
-{
- OCurves curves(parent->alembicXform(), m_name, m_time_sampling);
- m_schema = curves.getSchema();
-
- Curve *cu = static_cast<Curve *>(m_object->data);
- OCompoundProperty user_props = m_schema.getUserProperties();
- OInt16Property user_prop_resolu(user_props, ABC_CURVE_RESOLUTION_U_PROPNAME);
- user_prop_resolu.set(cu->resolu);
-}
-
-void AbcCurveWriter::do_write()
-{
- Curve *curve = static_cast<Curve *>(m_object->data);
-
- std::vector<Imath::V3f> verts;
- std::vector<int32_t> vert_counts;
- std::vector<float> widths;
- std::vector<float> weights;
- std::vector<float> knots;
- std::vector<uint8_t> orders;
- Imath::V3f temp_vert;
-
- Alembic::AbcGeom::BasisType curve_basis;
- Alembic::AbcGeom::CurveType curve_type;
- Alembic::AbcGeo
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list