Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGaia Clary <gaia.clary@machinimatrix.org>2019-05-23 13:17:17 +0300
committerGaia Clary <gaia.clary@machinimatrix.org>2019-05-23 13:29:20 +0300
commit6be9d19951ed460829d379aa90953b14a9f281f2 (patch)
tree45fe275c232ff0b4fb0e4e7205d53c8fdd6f8e9a /source/blender/collada/ExportSettings.h
parente9cf9e0a397f9589e00d980f0c0489641e7ed57e (diff)
Collada exporter update
Added new feature: Collada: global axis rotation upon export (UI) The new feature allows to specify the target rest coordinate system upon export. This allows for example to export a character that is in Blender orientation (Y forward) to match the Secondlife orientation where (-X forward) - Refactor:Added new utility methods to collada_utils Made BCMatrix class more powerfull moved Blender related structures into new BlenderContext class added class wrapper to encapsulate ExportSettings structure Added blender context getters to ExportSettings added access methods to BlenderContext into ExportSettings class Moved class BCMatrix into BlenderContext moved utility functions from collada_util into BlenderContext replace own function for parenting by a call to ED_object_parent_set() - Cleanup: removed obsolete parameters from methods renamed parameters for better understanding cleanup whitespace and indentation removed obsolete comments
Diffstat (limited to 'source/blender/collada/ExportSettings.h')
-rw-r--r--source/blender/collada/ExportSettings.h197
1 files changed, 197 insertions, 0 deletions
diff --git a/source/blender/collada/ExportSettings.h b/source/blender/collada/ExportSettings.h
index a362b72be00..7112aeadb2a 100644
--- a/source/blender/collada/ExportSettings.h
+++ b/source/blender/collada/ExportSettings.h
@@ -22,10 +22,13 @@
#define __EXPORTSETTINGS_H__
#ifdef __cplusplus
+# include <vector>
+
extern "C" {
#endif
#include "BLI_linklist.h"
+#include "BlenderContext.h"
typedef enum BC_export_mesh_type {
BC_MESH_TYPE_VIEW,
@@ -52,6 +55,10 @@ typedef enum BC_ui_export_section {
typedef struct ExportSettings {
bool apply_modifiers;
+ BC_global_forward_axis global_forward;
+ BC_global_up_axis global_up;
+ bool apply_global_orientation;
+
BC_export_mesh_type export_mesh_type;
bool selected;
@@ -86,6 +93,196 @@ typedef struct ExportSettings {
#ifdef __cplusplus
}
+
+void bc_get_children(std::vector<Object *> &child_set, Object *ob, ViewLayer *view_layer);
+
+class BCExportSettings {
+
+ private:
+ const ExportSettings &export_settings;
+ BlenderContext &blender_context;
+ const BCMatrix global_transform;
+
+ public:
+ BCExportSettings(ExportSettings *exportSettings, BlenderContext &blenderContext)
+ : export_settings(*exportSettings),
+ blender_context(blenderContext),
+ global_transform(BCMatrix(exportSettings->global_forward, exportSettings->global_up))
+
+ {
+ }
+
+ const BCMatrix &get_global_transform()
+ {
+ return global_transform;
+ }
+
+ bool get_apply_modifiers()
+ {
+ return export_settings.apply_modifiers;
+ }
+
+ BC_global_forward_axis get_global_forward()
+ {
+ return export_settings.global_forward;
+ }
+
+ BC_global_up_axis get_global_up()
+ {
+ return export_settings.global_up;
+ }
+
+ bool get_apply_global_orientation()
+ {
+ return export_settings.apply_global_orientation;
+ }
+
+ BC_export_mesh_type get_export_mesh_type()
+ {
+ return export_settings.export_mesh_type;
+ }
+
+ bool get_selected()
+ {
+ return export_settings.selected;
+ }
+
+ bool get_include_children()
+ {
+ return export_settings.include_children;
+ }
+
+ bool get_include_armatures()
+ {
+ return export_settings.include_armatures;
+ }
+
+ bool get_include_shapekeys()
+ {
+ return export_settings.include_shapekeys;
+ }
+
+ bool get_deform_bones_only()
+ {
+ return export_settings.deform_bones_only;
+ }
+
+ bool get_include_animations()
+ {
+ return export_settings.include_animations;
+ }
+
+ bool get_include_all_actions()
+ {
+ return export_settings.include_all_actions;
+ }
+
+ int get_sampling_rate()
+ {
+ return export_settings.sampling_rate;
+ }
+
+ bool get_keep_smooth_curves()
+ {
+ return export_settings.keep_smooth_curves;
+ }
+
+ bool get_keep_keyframes()
+ {
+ return export_settings.keep_keyframes;
+ }
+
+ bool get_keep_flat_curves()
+ {
+ return export_settings.keep_flat_curves;
+ }
+
+ bool get_active_uv_only()
+ {
+ return export_settings.active_uv_only;
+ }
+
+ BC_export_animation_type get_export_animation_type()
+ {
+ return export_settings.export_animation_type;
+ }
+
+ bool get_use_texture_copies()
+ {
+ return export_settings.use_texture_copies;
+ }
+
+ bool get_triangulate()
+ {
+ return export_settings.triangulate;
+ }
+
+ bool get_use_object_instantiation()
+ {
+ return export_settings.use_object_instantiation;
+ }
+
+ bool get_use_blender_profile()
+ {
+ return export_settings.use_blender_profile;
+ }
+
+ bool get_sort_by_name()
+ {
+ return export_settings.sort_by_name;
+ }
+
+ BC_export_transformation_type get_export_transformation_type()
+ {
+ return export_settings.export_transformation_type;
+ }
+
+ bool get_open_sim()
+ {
+ return export_settings.open_sim;
+ }
+
+ bool get_limit_precision()
+ {
+ return export_settings.limit_precision;
+ }
+
+ bool get_keep_bind_info()
+ {
+ return export_settings.keep_bind_info;
+ }
+
+ char *get_filepath()
+ {
+ return export_settings.filepath;
+ }
+
+ LinkNode *get_export_set()
+ {
+ return export_settings.export_set;
+ }
+
+ BlenderContext &get_blender_context()
+ {
+ return blender_context;
+ }
+
+ Scene *get_scene()
+ {
+ return blender_context.get_scene();
+ }
+
+ ViewLayer *get_view_layer()
+ {
+ return blender_context.get_view_layer();
+ }
+
+ bool is_export_root(Object *ob)
+ {
+ return bc_is_base_node(get_export_set(), ob, get_view_layer());
+ }
+};
+
#endif
#endif