Changeset View
Changeset View
Standalone View
Standalone View
source/blender/makesrna/intern/rna_constraint.c
| Show First 20 Lines • Show All 66 Lines • ▼ Show 20 Lines | EnumPropertyItem rna_enum_constraint_type_items[] = { | ||||
| {CONSTRAINT_TYPE_ROTLIMIT, "LIMIT_ROTATION", ICON_CONSTRAINT_DATA, "Limit Rotation", | {CONSTRAINT_TYPE_ROTLIMIT, "LIMIT_ROTATION", ICON_CONSTRAINT_DATA, "Limit Rotation", | ||||
| "Restrict rotation along each axis within given ranges"}, | "Restrict rotation along each axis within given ranges"}, | ||||
| {CONSTRAINT_TYPE_SIZELIMIT, "LIMIT_SCALE", ICON_CONSTRAINT_DATA, "Limit Scale", | {CONSTRAINT_TYPE_SIZELIMIT, "LIMIT_SCALE", ICON_CONSTRAINT_DATA, "Limit Scale", | ||||
| "Restrict scaling along each axis with given ranges"}, | "Restrict scaling along each axis with given ranges"}, | ||||
| {CONSTRAINT_TYPE_SAMEVOL, "MAINTAIN_VOLUME", ICON_CONSTRAINT_DATA, "Maintain Volume", | {CONSTRAINT_TYPE_SAMEVOL, "MAINTAIN_VOLUME", ICON_CONSTRAINT_DATA, "Maintain Volume", | ||||
| "Compensate for scaling one axis by applying suitable scaling to the other two axes"}, | "Compensate for scaling one axis by applying suitable scaling to the other two axes"}, | ||||
| {CONSTRAINT_TYPE_TRANSFORM, "TRANSFORM", ICON_CONSTRAINT_DATA, "Transformation", | {CONSTRAINT_TYPE_TRANSFORM, "TRANSFORM", ICON_CONSTRAINT_DATA, "Transformation", | ||||
| "Use one transform property from target to control another (or same) property on owner"}, | "Use one transform property from target to control another (or same) property on owner"}, | ||||
| {CONSTRAINT_TYPE_TRANSFORMCACHE, "TRANSFORMCACHE", ICON_CONSTRAINT_DATA, "Transform Cache", | |||||
| "Look up the transformation matrix from an external file"}, | |||||
| {0, "", 0, N_("Tracking"), ""}, | {0, "", 0, N_("Tracking"), ""}, | ||||
| {CONSTRAINT_TYPE_CLAMPTO, "CLAMP_TO", ICON_CONSTRAINT_DATA, "Clamp To", | {CONSTRAINT_TYPE_CLAMPTO, "CLAMP_TO", ICON_CONSTRAINT_DATA, "Clamp To", | ||||
| "Restrict movements to lie along a curve by remapping location along curve's longest axis"}, | "Restrict movements to lie along a curve by remapping location along curve's longest axis"}, | ||||
| {CONSTRAINT_TYPE_DAMPTRACK, "DAMPED_TRACK", ICON_CONSTRAINT_DATA, "Damped Track", | {CONSTRAINT_TYPE_DAMPTRACK, "DAMPED_TRACK", ICON_CONSTRAINT_DATA, "Damped Track", | ||||
| "Point towards a target by performing the smallest rotation necessary"}, | "Point towards a target by performing the smallest rotation necessary"}, | ||||
| {CONSTRAINT_TYPE_KINEMATIC, "IK", ICON_CONSTRAINT_DATA, "Inverse Kinematics", | {CONSTRAINT_TYPE_KINEMATIC, "IK", ICON_CONSTRAINT_DATA, "Inverse Kinematics", | ||||
| "Control a chain of bones by specifying the endpoint target (Bones only)"}, | "Control a chain of bones by specifying the endpoint target (Bones only)"}, | ||||
| {CONSTRAINT_TYPE_LOCKTRACK, "LOCKED_TRACK", ICON_CONSTRAINT_DATA, "Locked Track", | {CONSTRAINT_TYPE_LOCKTRACK, "LOCKED_TRACK", ICON_CONSTRAINT_DATA, "Locked Track", | ||||
| ▲ Show 20 Lines • Show All 126 Lines • ▼ Show 20 Lines | switch (con->type) { | ||||
| case CONSTRAINT_TYPE_PIVOT: | case CONSTRAINT_TYPE_PIVOT: | ||||
| return &RNA_PivotConstraint; | return &RNA_PivotConstraint; | ||||
| case CONSTRAINT_TYPE_FOLLOWTRACK: | case CONSTRAINT_TYPE_FOLLOWTRACK: | ||||
| return &RNA_FollowTrackConstraint; | return &RNA_FollowTrackConstraint; | ||||
| case CONSTRAINT_TYPE_CAMERASOLVER: | case CONSTRAINT_TYPE_CAMERASOLVER: | ||||
| return &RNA_CameraSolverConstraint; | return &RNA_CameraSolverConstraint; | ||||
| case CONSTRAINT_TYPE_OBJECTSOLVER: | case CONSTRAINT_TYPE_OBJECTSOLVER: | ||||
| return &RNA_ObjectSolverConstraint; | return &RNA_ObjectSolverConstraint; | ||||
| case CONSTRAINT_TYPE_TRANSFORMCACHE: | |||||
| return &RNA_TransformCacheConstraint; | |||||
| default: | default: | ||||
| return &RNA_UnknownType; | return &RNA_UnknownType; | ||||
| } | } | ||||
| } | } | ||||
| static void rna_Constraint_name_set(PointerRNA *ptr, const char *value) | static void rna_Constraint_name_set(PointerRNA *ptr, const char *value) | ||||
| { | { | ||||
| bConstraint *con = ptr->data; | bConstraint *con = ptr->data; | ||||
| ▲ Show 20 Lines • Show All 2,341 Lines • ▼ Show 20 Lines | static void rna_def_constraint_object_solver(BlenderRNA *brna) | ||||
| RNA_def_property_ui_text(prop, "Camera", | RNA_def_property_ui_text(prop, "Camera", | ||||
| "Camera to which motion is parented (if empty active scene camera is used)"); | "Camera to which motion is parented (if empty active scene camera is used)"); | ||||
| RNA_def_property_flag(prop, PROP_EDITABLE); | RNA_def_property_flag(prop, PROP_EDITABLE); | ||||
| RNA_def_property_update(prop, NC_OBJECT | ND_CONSTRAINT, "rna_Constraint_dependency_update"); | RNA_def_property_update(prop, NC_OBJECT | ND_CONSTRAINT, "rna_Constraint_dependency_update"); | ||||
| RNA_def_property_pointer_funcs(prop, NULL, "rna_Constraint_objectSolver_camera_set", NULL, | RNA_def_property_pointer_funcs(prop, NULL, "rna_Constraint_objectSolver_camera_set", NULL, | ||||
| "rna_Constraint_cameraObject_poll"); | "rna_Constraint_cameraObject_poll"); | ||||
| } | } | ||||
| static void rna_def_constraint_transform_cache(BlenderRNA *brna) | |||||
| { | |||||
| StructRNA *srna; | |||||
| PropertyRNA *prop; | |||||
| srna = RNA_def_struct(brna, "TransformCacheConstraint", "Constraint"); | |||||
| RNA_def_struct_ui_text(srna, "Transform Cache Constraint", "Look up transformation from an external file"); | |||||
| RNA_def_struct_sdna_from(srna, "bTransformCacheConstraint", "data"); | |||||
| prop = RNA_def_property(srna, "cache_file", PROP_POINTER, PROP_NONE); | |||||
| RNA_def_property_pointer_sdna(prop, NULL, "cache_file"); | |||||
| RNA_def_property_struct_type(prop, "CacheFile"); | |||||
| RNA_def_property_ui_text(prop, "Cache File", ""); | |||||
| RNA_def_property_flag(prop, PROP_EDITABLE | PROP_ID_SELF_CHECK); | |||||
| RNA_def_property_update(prop, 0, "rna_Constraint_dependency_update"); | |||||
| prop = RNA_def_property(srna, "abc_object_path", PROP_STRING, PROP_NONE); | |||||
| RNA_def_property_ui_text(prop, "Object Path", "Path to the object in the Alembic archive used to lookup the transform matrix"); | |||||
| RNA_def_property_update(prop, 0, "rna_Constraint_update"); | |||||
| } | |||||
| /* base struct for constraints */ | /* base struct for constraints */ | ||||
| void RNA_def_constraint(BlenderRNA *brna) | void RNA_def_constraint(BlenderRNA *brna) | ||||
| { | { | ||||
| StructRNA *srna; | StructRNA *srna; | ||||
| PropertyRNA *prop; | PropertyRNA *prop; | ||||
| /* data */ | /* data */ | ||||
| srna = RNA_def_struct(brna, "Constraint", NULL); | srna = RNA_def_struct(brna, "Constraint", NULL); | ||||
| ▲ Show 20 Lines • Show All 100 Lines • ▼ Show 20 Lines | void RNA_def_constraint(BlenderRNA *brna) | ||||
| rna_def_constraint_transform(brna); | rna_def_constraint_transform(brna); | ||||
| rna_def_constraint_shrinkwrap(brna); | rna_def_constraint_shrinkwrap(brna); | ||||
| rna_def_constraint_damped_track(brna); | rna_def_constraint_damped_track(brna); | ||||
| rna_def_constraint_spline_ik(brna); | rna_def_constraint_spline_ik(brna); | ||||
| rna_def_constraint_pivot(brna); | rna_def_constraint_pivot(brna); | ||||
| rna_def_constraint_follow_track(brna); | rna_def_constraint_follow_track(brna); | ||||
| rna_def_constraint_camera_solver(brna); | rna_def_constraint_camera_solver(brna); | ||||
| rna_def_constraint_object_solver(brna); | rna_def_constraint_object_solver(brna); | ||||
| rna_def_constraint_transform_cache(brna); | |||||
| } | } | ||||
| #endif | #endif | ||||