46 {0,
"", 0,
N_(
"Motion Tracking"),
""},
50 {0,
"", 0,
N_(
"Transform"),
""},
55 "Copy the location of a target (with an optional offset), so that they move together"},
60 "Copy the rotation of a target (with an optional offset), so that they rotate together"},
65 "Copy the scale factors of a target (with an optional offset), so that they are scaled by "
71 "Copy all the transformations of a target, so that they move together"},
76 "Restrict movements to within a certain distance of a target (at the time of constraint "
82 "Restrict movement along each axis within given ranges"},
87 "Restrict rotation along each axis within given ranges"},
92 "Restrict scaling along each axis with given ranges"},
97 "Compensate for scaling one axis by applying suitable scaling to the other two axes"},
102 "Use one transform property from target to control another (or same) property on owner"},
105 ICON_CON_TRANSFORM_CACHE,
107 "Look up the transformation matrix from an external file"},
108 {0,
"", 0,
N_(
"Tracking"),
""},
113 "Restrict movements to lie along a curve by remapping location along curve's longest axis"},
118 "Point towards a target by performing the smallest rotation necessary"},
122 "Inverse Kinematics",
123 "Control a chain of bones by specifying the endpoint target (Bones only)"},
128 "Rotate around the specified ('locked') axis to point towards a target"},
133 "Align chain of bones along a curve (Bones only)"},
138 "Stretch along Y-Axis to point towards a target"},
143 "Legacy tracking constraint prone to twisting artifacts"},
144 {0,
"", 0,
N_(
"Relationship"),
""},
149 "Use transform property of target to look up pose for owner from an Action"},
154 "Apply weight-blended transformation from multiple bones like the Armature modifier"},
159 "Make target the 'detachable' parent of owner"},
164 "Use position (and optionally rotation) of target to define a 'wall' or 'floor' that the "
165 "owner can not cross"},
170 "Use to animate an object/bone following a path"},
175 "Change pivot point for transforms (buggy)"},
177 {CONSTRAINT_TYPE_RIGIDBODYJOINT,
179 ICON_CONSTRAINT_DATA,
181 "Use to define a Rigid Body Constraint (for Game Engine use only)"},
184 ICON_CONSTRAINT_DATA,
186 "Custom constraint(s) written in Python (Not yet implemented)"},
192 "Restrict movements to surface of target mesh"},
201 "The transformation of the target is evaluated relative to the world "
202 "coordinate system"},
207 "The transformation of the target is evaluated relative to a custom object/bone/vertex "
213 "The transformation of the target is only evaluated in the Pose Space, "
214 "the target armature object transformation is ignored"},
219 "The transformation of the target bone is evaluated relative to its rest pose "
220 "local coordinate system, thus including the parent-induced transformation"},
225 "The transformation of the target is evaluated relative to its local "
226 "coordinate system"},
235 "The constraint is applied relative to the world coordinate system"},
240 "The constraint is applied in local space of a custom object/bone/vertex group"},
245 "The constraint is applied in Pose Space, the object transformation is ignored"},
250 "The constraint is applied relative to the rest pose local coordinate system "
251 "of the bone, thus including the parent-induced transformation"},
256 "The constraint is applied relative to the local coordinate system of the object"},
261 {
TRACK_X,
"TRACK_X", 0,
"X",
""},
262 {
TRACK_Y,
"TRACK_Y", 0,
"Y",
""},
263 {
TRACK_Z,
"TRACK_Z", 0,
"Z",
""},
264 {
TRACK_nX,
"TRACK_NEGATIVE_X", 0,
"-X",
""},
265 {
TRACK_nY,
"TRACK_NEGATIVE_Y", 0,
"-Y",
""},
266 {
TRACK_nZ,
"TRACK_NEGATIVE_Z", 0,
"-Z",
""},
288 "The transformation of the target is evaluated relative to the world coordinate system"},
293 "The transformation of the target is evaluated relative to a custom object/bone/vertex "
299 "The transformation of the target is evaluated relative to its local coordinate system"},
334 return &RNA_MaintainVolumeConstraint;
338 return &RNA_ArmatureConstraint;
370 return &RNA_FollowTrackConstraint;
372 return &RNA_CameraSolverConstraint;
374 return &RNA_ObjectSolverConstraint;
376 return &RNA_TransformCacheConstraint;
382 static void rna_ConstraintTargetBone_target_set(
PointerRNA *
ptr,
395 static void rna_Constraint_name_set(
PointerRNA *
ptr,
const char *value)
398 char oldname[
sizeof(con->
name)];
427 printf(
"%s: internal error, constraint '%s' not found in object '%s'\n",
434 char name_esc_pchan[
sizeof(pchan->
name) * 2];
435 char name_esc_const[
sizeof(con->
name) * 2];
438 return BLI_sprintfN(
"pose.bones[\"%s\"].constraints[\"%s\"]", name_esc_pchan, name_esc_const);
441 char name_esc_const[
sizeof(con->
name) * 2];
443 return BLI_sprintfN(
"constraints[\"%s\"]", name_esc_const);
452 return rna_Constraint_do_compute_path(ob, con);
482 char *con_path = rna_Constraint_do_compute_path(ob, con);
489 printf(
"%s: internal error, constraint '%s' of object '%s' does not contain the target\n",
513 static void rna_ConstraintTarget_dependency_update(
Main *bmain,
529 rna_Constraint_update(bmain,
scene,
ptr);
533 static void rna_Constraint_childof_inverse_matrix_update(
Main *bmain,
540 rna_Constraint_update(bmain,
scene,
ptr);
543 static void rna_Constraint_ik_type_set(
struct PointerRNA *
ptr,
int value)
548 if (ikdata->
type != value) {
557 ikdata->
type = value;
562 static bool rna_Constraint_RotLike_use_offset_get(
struct PointerRNA *
ptr)
569 static void rna_Constraint_RotLike_use_offset_set(
struct PointerRNA *
ptr,
bool value)
574 if (curval != value) {
592 return space_object_items;
606 if (cti && cti->get_constraint_targets) {
607 cti->get_constraint_targets(con, &targets);
609 for (ct = targets.
first; ct; ct = ct->
next) {
615 if (cti->flush_constraint_targets) {
616 cti->flush_constraint_targets(con, &targets, 1);
624 return space_object_items;
639 static void rna_ArmatureConstraint_target_remove(
655 static void rna_ArmatureConstraint_target_clear(
ID *
id,
bConstraint *con,
Main *bmain)
664 static void rna_ActionConstraint_mix_mode_set(
PointerRNA *
ptr,
int value)
669 acon->mix_mode = value;
681 static void rna_ActionConstraint_minmax_range(
688 if (
ELEM(acon->type, 0, 1, 2)) {
698 static int rna_SplineIKConstraint_joint_bindings_get_length(
PointerRNA *
ptr,
705 length[0] = ikData->numpoints;
714 static void rna_SplineIKConstraint_joint_bindings_get(
PointerRNA *
ptr,
float *values)
719 memcpy(values, ikData->points, ikData->numpoints *
sizeof(
float));
722 static void rna_SplineIKConstraint_joint_bindings_set(
PointerRNA *
ptr,
const float *values)
727 memcpy(ikData->points, values, ikData->numpoints *
sizeof(
float));
730 static int rna_ShrinkwrapConstraint_face_cull_get(
PointerRNA *
ptr)
737 static void rna_ShrinkwrapConstraint_face_cull_set(
struct PointerRNA *
ptr,
int value)
757 static void rna_Constraint_followTrack_camera_set(
PointerRNA *
ptr,
776 static void rna_Constraint_followTrack_depthObject_set(
PointerRNA *
ptr,
808 static void rna_Constraint_objectSolver_camera_set(
PointerRNA *
ptr,
834 "The object is constrained inside a virtual sphere around the target object, "
835 "with a radius defined by the limit distance"},
840 "The object is constrained outside a virtual sphere around the target object, "
841 "with a radius defined by the limit distance"},
843 "LIMITDIST_ONSURFACE",
846 "The object is constrained on the surface of a virtual sphere around the target object, "
847 "with a radius defined by the limit distance"},
866 "Follow shape of B-Bone segments when calculating Head/Tail position");
929 srna,
"Constraint Target Bone",
"Target bone for multi-target constraints");
939 prop,
NULL,
"rna_ConstraintTargetBone_target_set",
NULL,
"rna_Armature_object_poll");
966 srna,
"Child Of Constraint",
"Create constraint-based parent-child relationship");
1022 prop,
"Set Inverse Pending",
"Set to true to request recalculation of the inverse matrix");
1065 prop,
"Use Targets",
"Use the targets indicated in the constraint panel");
1086 srna,
"Armature Deform Constraint Targets",
"Collection of target bones and weights");
1092 parm =
RNA_def_pointer(func,
"target",
"ConstraintTargetBone",
"",
"New target bone");
1095 func =
RNA_def_function(srna,
"remove",
"rna_ArmatureConstraint_target_remove");
1098 parm =
RNA_def_pointer(func,
"target",
"ConstraintTargetBone",
"",
"Target to remove");
1102 func =
RNA_def_function(srna,
"clear",
"rna_ArmatureConstraint_target_clear");
1114 srna,
"Armature Constraint",
"Applies transformations done by the Armature modifier");
1129 prop,
"Preserve Volume",
"Deform rotation interpolation with quaternions");
1137 "Multiply weights by envelope for all bones, instead of acting like Vertex Group based "
1139 "The specified weights are still used, and only the listed bones are considered");
1145 "Use Current Location",
1146 "Use the current bone location for envelopes and choosing B-Bone "
1147 "segments instead of rest position");
1159 {0,
"BONE", 0,
"Bone",
""},
1170 srna =
RNA_def_struct(brna,
"KinematicConstraint",
"Constraint");
1205 prop,
"Weight",
"For Tree-IK: Weight of position control for this target");
1211 prop,
"Orientation Weight",
"For Tree-IK: Weight of orientation control for this target");
1218 prop,
"Chain Length",
"How many bones are included in the IK effect - 0 uses all bones");
1230 prop,
"Axis Reference",
"Constraint axis Lock options relative to Bone or Target reference");
1289 prop,
"Limit Mode",
"Distances in relation to sphere of influence to allow");
1307 {
TRACK_X,
"UP_X", 0,
"X",
""},
1308 {
TRACK_Y,
"UP_Y", 0,
"Y",
""},
1309 {
TRACK_Z,
"UP_Z", 0,
"Z",
""},
1315 srna,
"Track To Constraint",
"Aim the constrained object toward the target");
1342 prop,
"Target Z",
"Target's Z axis, not World Z axis, will constraint the Up direction");
1353 srna =
RNA_def_struct(brna,
"CopyLocationConstraint",
"Constraint");
1409 {
ROTLIKE_MIX_REPLACE,
"REPLACE", 0,
"Replace",
"Replace the original rotation with copied"},
1410 {
ROTLIKE_MIX_ADD,
"ADD", 0,
"Add",
"Add euler component values together"},
1415 "Apply copied rotation before original, as if the constraint target is a parent"},
1420 "Apply copied rotation after original, as if the constraint target is a child"},
1425 "Combine rotations like the original Offset checkbox. Does not work well for "
1426 "multiple axis rotations"},
1430 srna =
RNA_def_struct(brna,
"CopyRotationConstraint",
"Constraint");
1479 prop,
"Mix Mode",
"Specify how the copied and existing rotations are combined");
1485 prop,
"rna_Constraint_RotLike_use_offset_get",
"rna_Constraint_RotLike_use_offset_set");
1487 prop,
"Offset",
"DEPRECATED: Add original rotation into copied rotation");
1498 srna =
RNA_def_struct(brna,
"CopyScaleConstraint",
"Constraint");
1533 "Redistribute the copied change in volume equally "
1534 "between the three axes of the owner");
1547 "Use addition instead of multiplication to combine scale (2.7 compatibility)");
1570 "Volume is strictly preserved, overriding the scaling of non-free axes"},
1575 "Volume is preserved when the object is scaled uniformly. "
1576 "Deviations from uniform scale on non-free axes are passed through"},
1581 "Volume is preserved when the object is scaled only on the free axis. "
1582 "Non-free axis scaling is passed through"},
1586 srna =
RNA_def_struct(brna,
"MaintainVolumeConstraint",
"Constraint");
1588 "Maintain Volume Constraint",
1589 "Maintain a constant volume along a single scaling axis");
1605 prop,
"Mode",
"The way the constraint treats original non-free axis scaling");
1626 "Replace the original transformation with copied"},
1631 "Apply copied transformation before original, as if the constraint target is a parent. "
1632 "Scale is handled specially to avoid creating shear"},
1637 "Apply copied transformation after original, as if the constraint target is a child. "
1638 "Scale is handled specially to avoid creating shear"},
1642 srna =
RNA_def_struct(brna,
"CopyTransformsConstraint",
"Constraint");
1644 srna,
"Copy Transforms Constraint",
"Copy all the transforms of the target");
1660 prop,
"Mix Mode",
"Specify how the copied and existing transformations are combined");
1672 {
TRACK_X,
"FLOOR_X", 0,
"X",
""},
1673 {
TRACK_Y,
"FLOOR_Y", 0,
"Y",
""},
1674 {
TRACK_Z,
"FLOOR_Z", 0,
"Z",
""},
1675 {
TRACK_nX,
"FLOOR_NEGATIVE_X", 0,
"-X",
""},
1676 {
TRACK_nY,
"FLOOR_NEGATIVE_Y", 0,
"-Y",
""},
1677 {
TRACK_nZ,
"FLOOR_NEGATIVE_Z", 0,
"-Z",
""},
1683 srna,
"Floor Constraint",
"Use the target object for location limitation");
1695 prop,
"Floor Location",
"Location of target that object will not pass through");
1717 {20,
"LOCATION_X", 0,
"X Location",
""},
1718 {21,
"LOCATION_Y", 0,
"Y Location",
""},
1719 {22,
"LOCATION_Z", 0,
"Z Location",
""},
1720 {00,
"ROTATION_X", 0,
"X Rotation",
""},
1721 {01,
"ROTATION_Y", 0,
"Y Rotation",
""},
1722 {02,
"ROTATION_Z", 0,
"Z Rotation",
""},
1723 {10,
"SCALE_X", 0,
"X Scale",
""},
1724 {11,
"SCALE_Y", 0,
"Y Scale",
""},
1725 {12,
"SCALE_Z", 0,
"Z Scale",
""},
1734 "Apply the action channels before the original transformation, "
1735 "as if applied to an imaginary parent with Aligned Inherit Scale"},
1740 "Apply the action channels after the original transformation, "
1741 "as if applied to an imaginary child with Aligned Inherit Scale"},
1745 "After Original (Full Scale)",
1746 "Apply the action channels after the original transformation, as if "
1747 "applied to an imaginary child with Full Inherit Scale. This mode "
1748 "can create shear and is provided only for backward compatibility"},
1754 srna,
"Action Constraint",
"Map an action to the transform axes of a bone");
1769 "Specify how existing transformations and the action channels are combined");
1777 "Transform Channel",
1778 "Transformation channel from the target that is used to key the Action");
1792 "Bones only: apply the object's transformation channels of the action "
1793 "to the constrained bone, instead of bone's channels");
1826 prop,
"Evaluation Time",
"Interpolates between Action Start and End frames");
1832 "Use Evaluation Time",
1833 "Interpolate between Action Start and End frames, with the Evaluation "
1834 "Time slider instead of the Target object/bone");
1846 {
TRACK_X,
"LOCK_X", 0,
"X",
""},
1847 {
TRACK_Y,
"LOCK_Y", 0,
"Y",
""},
1848 {
TRACK_Z,
"LOCK_Z", 0,
"Z",
""},
1852 srna =
RNA_def_struct(brna,
"LockedTrackConstraint",
"Constraint");
1855 "Locked Track Constraint",
1856 "Point toward the target along the track axis, while locking the other axis");
1888 {
TRACK_X,
"FORWARD_X", 0,
"X",
""},
1889 {
TRACK_Y,
"FORWARD_Y", 0,
"Y",
""},
1890 {
TRACK_Z,
"FORWARD_Z", 0,
"Z",
""},
1891 {
TRACK_nX,
"TRACK_NEGATIVE_X", 0,
"-X",
""},
1892 {
TRACK_nY,
"TRACK_NEGATIVE_Y", 0,
"-Y",
""},
1893 {
TRACK_nZ,
"TRACK_NEGATIVE_Z", 0,
"-Z",
""},
1898 {
TRACK_X,
"UP_X", 0,
"X",
""},
1899 {
TRACK_Y,
"UP_Y", 0,
"Y",
""},
1900 {
TRACK_Z,
"UP_Z", 0,
"Z",
""},
1904 srna =
RNA_def_struct(brna,
"FollowPathConstraint",
"Constraint");
1921 prop,
"Offset",
"Offset from the position corresponding to the time frame");
1929 prop,
"Offset Factor",
"Percentage value defining target position along length of curve");
1947 prop,
"Follow Curve",
"Object will follow the heading and banking of the curve");
1955 "Object will stay locked to a single point somewhere along the length of the curve "
1956 "regardless of time");
1974 {
VOLUME_X,
"VOLUME_X", 0,
"X",
""},
1975 {
VOLUME_Z,
"VOLUME_Z", 0,
"Z",
""},
1976 {
NO_VOLUME,
"NO_VOLUME", 0,
"None",
""},
1981 {
PLANE_X,
"PLANE_X", 0,
"XZ",
"Rotate around local X, then Z"},
1982 {
PLANE_Z,
"PLANE_Z", 0,
"ZX",
"Rotate around local Z, then X"},
1987 "Use the smallest single axis rotation, similar to Damped Track"},
1991 srna =
RNA_def_struct(brna,
"StretchToConstraint",
"Constraint");
2007 prop,
"Maintain Volume",
"Maintain the object's volume as it stretches");
2026 prop,
"Volume Variation",
"Factor between volume variation and stretching");
2032 prop,
"Use Volume Variation Minimum",
"Use lower limit for volume variation");
2038 prop,
"Use Volume Variation Maximum",
"Use upper limit for volume variation");
2054 prop,
"Volume Variation Smoothness",
"Strength of volume stretching clamping");
2076 "Clamp To Constraint",
2077 "Constrain an object's location to the nearest point along the target path");
2099 prop,
"Cyclic",
"Treat curve as cyclic curve (no clamping to curve bounding box)");
2130 "Apply new rotation before original, as if it was on a parent"},
2135 "Apply new rotation after original, as if it was on a child"},
2145 srna =
RNA_def_struct(brna,
"TransformConstraint",
"Constraint");
2147 srna,
"Transformation Constraint",
"Map transformations of the target to the object");
2165 prop,
"Map To",
"The transformation type to affect of the constrained object");
2172 prop,
"Map To X From",
"The source axis constrained object's X axis uses");
2179 prop,
"Map To Y From",
"The source axis constrained object's Y axis uses");
2186 prop,
"Map To Z From",
"The source axis constrained object's Z axis uses");
2283 prop,
"Location Mix Mode",
"Specify how to combine the new location with original");
2363 prop,
"Rotation Mix Mode",
"Specify how to combine the new rotation with original");
2443 prop,
"Scale Mix Mode",
"Specify how to combine the new scale with original");
2454 srna =
RNA_def_struct(brna,
"LimitLocationConstraint",
"Constraint");
2456 srna,
"Limit Location Constraint",
"Limit the location of the constrained object");
2531 prop,
"Affect Transform",
"Transform tools are affected by this constraint as well");
2542 srna =
RNA_def_struct(brna,
"LimitRotationConstraint",
"Constraint");
2544 srna,
"Limit Rotation Constraint",
"Limit the rotation of the constrained object");
2604 prop,
"Affect Transform",
"Transform tools are affected by this constraint as well");
2615 srna =
RNA_def_struct(brna,
"LimitScaleConstraint",
"Constraint");
2617 srna,
"Limit Size Constraint",
"Limit the scaling of the constrained object");
2692 prop,
"Affect Transform",
"Transform tools are affected by this constraint as well");
2703 srna =
RNA_def_struct(brna,
"LimitDistanceConstraint",
"Constraint");
2705 srna,
"Limit Distance Constraint",
"Limit the distance from target object");
2726 prop,
"Limit Mode",
"Distances in relation to sphere of influence to allow");
2732 prop,
"Affect Transform",
"Transforms are affected by this constraint as well");
2747 "Nearest Surface Point",
2748 "Shrink the location to the nearest target surface"},
2753 "Shrink the location to the nearest target surface along a given axis"},
2758 "Shrink the location to the nearest target vertex"},
2762 "Target Normal Project",
2763 "Shrink the location to the nearest target surface "
2764 "along the interpolated vertex normals of the target"},
2769 {0,
"OFF", 0,
"Off",
"No culling"},
2774 "No projection when in front of the face"},
2779 "No projection when behind the face"},
2783 srna =
RNA_def_struct(brna,
"ShrinkwrapConstraint",
"Constraint");
2785 srna,
"Shrinkwrap Constraint",
"Create constraint-based shrinkwrap relationship");
2802 prop,
"Shrinkwrap Type",
"Select type of shrinkwrap algorithm for target position");
2809 prop,
"Snap Mode",
"Select how to constrain the object to the target surface");
2836 prop,
"Project Distance",
"Limit the distance used for projection (zero disables)");
2842 prop,
"Project Opposite",
"Project in both specified and opposite directions");
2849 "rna_ShrinkwrapConstraint_face_cull_get",
2850 "rna_ShrinkwrapConstraint_face_cull_set",
2855 "Stop vertices from projecting to a face on the target when facing towards/away");
2861 prop,
"Invert Cull",
"When projecting in the opposite direction invert the face cull mode");
2867 prop,
"Align Axis To Normal",
"Align the specified axis to the surface normal");
2884 srna =
RNA_def_struct(brna,
"DampedTrackConstraint",
"Constraint");
2886 srna,
"Damped Track Constraint",
"Point toward target by taking the shortest rotation path");
2917 "Use the original scaling of the bones"},
2922 "Scale of the X and Z axes is the inverse of the Y-Scale"},
2926 "Volume Preservation",
2927 "Scale of the X and Z axes are adjusted to preserve the volume of the bones"},
2937 "Scale the bones to fit the entire length of the curve"},
2942 "Use the original Y scale of the bone"},
2976 "rna_SplineIKConstraint_joint_bindings_get",
2977 "rna_SplineIKConstraint_joint_bindings_set",
2982 "(EXPERIENCED USERS ONLY) The relative positions of the joints along the chain, "
2990 prop,
"Chain Offset",
"Offset the entire chain relative to the root joint");
2997 "Ignore the relative lengths of the bones when fitting to the curve");
3005 "Average radius of the endpoints is used to tweak the X and Z Scaling of the bones, "
3006 "on top of XZ Scale mode");
3016 "Method used for determining the scaling of the X and Z axes of the bones");
3025 "Method used for determining the scaling of the Y axis of the bones, "
3026 "on top of the shape and scaling of the curve itself");
3033 prop,
"Use Original Scale",
"Apply volume preservation over the original scaling");
3040 prop,
"Volume Variation",
"Factor between volume variation and stretching");
3046 prop,
"Use Volume Variation Minimum",
"Use lower limit for volume variation");
3052 prop,
"Use Volume Variation Maximum",
"Use upper limit for volume variation");
3068 prop,
"Volume Variation Smoothness",
"Strength of volume stretching clamping");
3080 {
PIVOTCON_AXIS_NONE,
"ALWAYS_ACTIVE", 0,
"Always",
"Use the pivot point in every rotation"},
3085 "Use the pivot point in the negative rotation range around the X-axis"},
3090 "Use the pivot point in the negative rotation range around the Y-axis"},
3095 "Use the pivot point in the negative rotation range around the Z-axis"},
3100 "Use the pivot point in the positive rotation range around the X-axis"},
3105 "Use the pivot point in the positive rotation range around the Y-axis"},
3110 "Use the pivot point in the positive rotation range around the Z-axis"},
3129 prop,
"Target",
"Target Object, defining the position of the pivot when defined");
3143 "Use Relative Offset",
3144 "Offset will be an absolute point in space instead of relative to the target");
3151 "Offset of pivot from target (when set), or from owner's location "
3152 "(when Fixed Position is off), or the absolute pivot point");
3160 prop,
"Enabled Rotation Range",
"Rotation range on which pivoting should occur");
3178 srna =
RNA_def_struct(brna,
"FollowTrackConstraint",
"Constraint");
3180 srna,
"Follow Track Constraint",
"Lock motion to the target motion track");
3215 prop,
"Object",
"Movie tracking object to follow (if empty, camera object is used)");
3222 prop,
"Camera",
"Camera to which motion is parented (if empty active scene camera is used)");
3227 "rna_Constraint_followTrack_camera_set",
3229 "rna_Constraint_cameraObject_poll");
3237 "Object used to define depth in camera space by projecting onto surface of this object");
3242 "rna_Constraint_followTrack_depthObject_set",
3244 "rna_Constraint_followTrack_depthObject_poll");
3267 srna =
RNA_def_struct(brna,
"CameraSolverConstraint",
"Constraint");
3269 srna,
"Camera Solver Constraint",
"Lock motion to the reconstructed camera movement");
3296 srna =
RNA_def_struct(brna,
"ObjectSolverConstraint",
"Constraint");
3298 srna,
"Object Solver Constraint",
"Lock motion to the reconstructed object movement");
3320 prop,
"Set Inverse Pending",
"Set to true to request recalculation of the inverse matrix");
3333 prop,
"Camera",
"Camera to which motion is parented (if empty active scene camera is used)");
3338 "rna_Constraint_objectSolver_camera_set",
3340 "rna_Constraint_cameraObject_poll");
3350 srna =
RNA_def_struct(brna,
"TransformCacheConstraint",
"Constraint");
3352 srna,
"Transform Cache Constraint",
"Look up transformation from an external file");
3369 "Path to the object in the Alembic archive used to lookup the transform matrix");
3384 srna,
"Constraint",
"Constraint modifying the transformation of objects and bones");
3462 "Constraint was added in this proxy instance (i.e. did not belong to source Armature)");
3469 prop,
"Influence",
"Amount of influence constraint will have on the final solution");
3479 "Amount of residual error in Blender space unit for constraints that work on position");
3487 "Amount of residual error in radians for constraints that work on orientation");
Blender kernel action and pose functionality.
void BKE_animdata_fix_paths_rename_all(struct ID *ref_id, const char *prefix, const char *oldName, const char *newName)
struct bConstraint * BKE_constraint_find_from_target(struct Object *ob, struct bConstraintTarget *tgt, struct bPoseChannel **r_pchan)
const bConstraintTypeInfo * BKE_constraint_typeinfo_get(struct bConstraint *con)
void BKE_constraint_unique_name(struct bConstraint *con, struct ListBase *list)
void id_lib_extern(struct ID *id)
void BKE_report(ReportList *reports, ReportType type, const char *message)
void BLI_freelinkN(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
void void BLI_freelistN(struct ListBase *listbase) ATTR_NONNULL(1)
void BLI_addtail(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
int BLI_findindex(const struct ListBase *listbase, const void *vlink) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
size_t size_t char * BLI_sprintfN(const char *__restrict format,...) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1) ATTR_MALLOC ATTR_PRINTF_FORMAT(1
size_t size_t char size_t BLI_str_escape(char *__restrict dst, const char *__restrict src, const size_t dst_maxncpy) ATTR_NONNULL()
char * BLI_strncpy(char *__restrict dst, const char *__restrict src, const size_t maxncpy) ATTR_NONNULL()
char * BLI_strncpy_utf8(char *__restrict dst, const char *__restrict src, size_t maxncpy) ATTR_NONNULL()
@ CONSTRAINT_IK_TARGETAXIS
@ CONSTRAINT_TYPE_TRACKTO
@ CONSTRAINT_TYPE_CHILDOF
@ CONSTRAINT_TYPE_TRANSFORM
@ CONSTRAINT_TYPE_FOLLOWTRACK
@ CONSTRAINT_TYPE_OBJECTSOLVER
@ CONSTRAINT_TYPE_ARMATURE
@ CONSTRAINT_TYPE_LOCLIKE
@ CONSTRAINT_TYPE_SHRINKWRAP
@ CONSTRAINT_TYPE_ROTLIMIT
@ CONSTRAINT_TYPE_CAMERASOLVER
@ CONSTRAINT_TYPE_ROTLIKE
@ CONSTRAINT_TYPE_SPLINEIK
@ CONSTRAINT_TYPE_KINEMATIC
@ CONSTRAINT_TYPE_DISTLIMIT
@ CONSTRAINT_TYPE_TRANSLIKE
@ CONSTRAINT_TYPE_LOCLIMIT
@ CONSTRAINT_TYPE_CLAMPTO
@ CONSTRAINT_TYPE_LOCKTRACK
@ CONSTRAINT_TYPE_SIZELIMIT
@ CONSTRAINT_TYPE_FOLLOWPATH
@ CONSTRAINT_TYPE_STRETCHTO
@ CONSTRAINT_TYPE_SIZELIKE
@ CONSTRAINT_TYPE_SAMEVOL
@ CONSTRAINT_TYPE_DAMPTRACK
@ CONSTRAINT_TYPE_TRANSFORM_CACHE
@ CONSTRAINT_ARMATURE_QUATERNION
@ CONSTRAINT_ARMATURE_ENVELOPE
@ CONSTRAINT_ARMATURE_CUR_LOCATION
@ CAMERASOLVER_ACTIVECLIP
@ FOLLOWTRACK_USE_UNDISTORTION
@ FOLLOWTRACK_USE_3D_POSITION
@ ACTCON_BONE_USE_OBJECT_ACTION
#define CON_SHRINKWRAP_PROJECT_CULL_MASK
@ TRANS_MIXSCALE_MULTIPLY
@ CONSTRAINT_SPLINEIK_YS_NONE
@ CONSTRAINT_SPLINEIK_YS_FIT_CURVE
@ CONSTRAINT_SPLINEIK_YS_ORIGINAL
@ CONSTRAINT_SPACE_CUSTOM
@ CONSTRAINT_SPACE_PARLOCAL
@ CONSTRAINT_SPLINEIK_EVENSPLITS
@ CONSTRAINT_SPLINEIK_USE_BULGE_MAX
@ CONSTRAINT_SPLINEIK_USE_ORIGINAL_SCALE
@ CONSTRAINT_SPLINEIK_USE_BULGE_MIN
@ CONSTRAINT_SPLINEIK_NO_CURVERAD
@ CONSTRAINT_SPLINEIK_NO_ROOT
@ OBJECTSOLVER_SET_INVERSE
@ CON_SHRINKWRAP_PROJECT_INVERT_CULL
@ CON_SHRINKWRAP_PROJECT_OPPOSITE
@ CON_SHRINKWRAP_PROJECT_CULL_FRONTFACE
@ CON_SHRINKWRAP_PROJECT_CULL_BACKFACE
@ CON_SHRINKWRAP_TRACK_NORMAL
@ PIVOTCON_FLAG_OFFSET_ABS
@ STRETCHTOCON_USE_BULGE_MAX
@ STRETCHTOCON_USE_BULGE_MIN
@ CONSTRAINT_SPLINEIK_XZS_VOLUMETRIC
@ CONSTRAINT_SPLINEIK_XZS_ORIGINAL
@ CONSTRAINT_SPLINEIK_XZS_NONE
@ CONSTRAINT_SPLINEIK_XZS_INVERSE
@ FOLLOWTRACK_FRAME_STRETCH
@ MOD_SHRINKWRAP_TARGET_PROJECT
@ MOD_SHRINKWRAP_NEAREST_VERTEX
@ MOD_SHRINKWRAP_NEAREST_SURFACE
Object is a sort of wrapper for general info.
struct ListBase * ED_object_constraint_list_from_constraint(struct Object *ob, struct bConstraint *con, struct bPoseChannel **r_pchan)
void ED_object_constraint_tag_update(struct Main *bmain, struct Object *ob, struct bConstraint *con)
void ED_object_constraint_dependency_tag_update(struct Main *bmain, struct Object *ob, struct bConstraint *con)
Read Guarded memory(de)allocation.
StructRNA RNA_PythonConstraint
StructRNA RNA_FloorConstraint
StructRNA RNA_CopyRotationConstraint
StructRNA RNA_StretchToConstraint
StructRNA RNA_PivotConstraint
StructRNA RNA_CopyScaleConstraint
StructRNA RNA_ShrinkwrapConstraint
StructRNA RNA_TrackToConstraint
StructRNA RNA_KinematicConstraint
StructRNA RNA_LimitRotationConstraint
StructRNA RNA_LimitLocationConstraint
StructRNA RNA_ChildOfConstraint
StructRNA RNA_TransformConstraint
StructRNA RNA_CopyTransformsConstraint
StructRNA RNA_UnknownType
StructRNA RNA_LimitScaleConstraint
StructRNA RNA_FollowPathConstraint
StructRNA RNA_CopyLocationConstraint
StructRNA RNA_ClampToConstraint
StructRNA RNA_DampedTrackConstraint
StructRNA RNA_LimitDistanceConstraint
StructRNA RNA_LockedTrackConstraint
StructRNA RNA_ActionConstraint
StructRNA RNA_SplineIKConstraint
#define RNA_MAX_ARRAY_DIMENSION
#define RNA_TRANSLATION_PREC_DEFAULT
@ PROPOVERRIDE_OVERRIDABLE_LIBRARY
SIMD_FORCE_INLINE btScalar length(const btQuaternion &q)
Return the length of a quaternion.
void(* MEM_freeN)(void *vmemh)
void *(* MEM_callocN)(size_t len, const char *str)
static const EnumPropertyItem mode_items[]
static void rna_def_constraint_rotate_like(BlenderRNA *brna)
static void rna_def_constraint_same_volume(BlenderRNA *brna)
static const EnumPropertyItem constraint_distance_items[]
static void rna_def_constraint_location_limit(BlenderRNA *brna)
static const EnumPropertyItem owner_space_pchan_items[]
static void rna_def_constraint_stretch_to(BlenderRNA *brna)
static void rna_def_constraint_follow_track(BlenderRNA *brna)
static void rna_def_constraint_size_limit(BlenderRNA *brna)
static void rna_def_constraint_python(BlenderRNA *brna)
static void rna_def_constraint_object_solver(BlenderRNA *brna)
static void rna_def_constraint_track_to(BlenderRNA *brna)
static void rna_def_constraint_transform(BlenderRNA *brna)
static void rna_def_constraint_locate_like(BlenderRNA *brna)
static void rna_def_constraint_rotation_limit(BlenderRNA *brna)
static void rna_def_constraint_headtail_common(StructRNA *srna)
static void rna_def_constrainttarget(BlenderRNA *brna)
static void rna_def_constraint_distance_limit(BlenderRNA *brna)
static void rna_def_constraint_transform_like(BlenderRNA *brna)
static void rna_def_constraint_kinematic(BlenderRNA *brna)
static const EnumPropertyItem target_space_pchan_items[]
static void rna_def_constraint_shrinkwrap(BlenderRNA *brna)
static void rna_def_constraint_target_common(StructRNA *srna)
static void rna_def_constraint_follow_path(BlenderRNA *brna)
static void rna_def_constraint_action(BlenderRNA *brna)
static void rna_def_constraint_childof(BlenderRNA *brna)
static void rna_def_constraint_locked_track(BlenderRNA *brna)
static void rna_def_constraint_damped_track(BlenderRNA *brna)
static void rna_def_constraint_minmax(BlenderRNA *brna)
static void rna_def_constraint_size_like(BlenderRNA *brna)
static void rna_def_constraint_spline_ik(BlenderRNA *brna)
static void rna_def_constrainttarget_bone(BlenderRNA *brna)
static void rna_def_constraint_armature_deform_targets(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_def_constraint(BlenderRNA *brna)
static void rna_def_constraint_clamp_to(BlenderRNA *brna)
static const EnumPropertyItem euler_order_items[]
static void rna_def_constraint_pivot(BlenderRNA *brna)
static const EnumPropertyItem track_axis_items[]
static void rna_def_constraint_armature_deform(BlenderRNA *brna)
static void rna_def_constraint_camera_solver(BlenderRNA *brna)
const EnumPropertyItem rna_enum_constraint_type_items[]
static void rna_def_constraint_transform_cache(BlenderRNA *brna)
void RNA_def_struct_refine_func(StructRNA *srna, const char *refine)
void RNA_def_property_pointer_sdna(PropertyRNA *prop, const char *structname, const char *propname)
void RNA_define_lib_overridable(const bool make_overridable)
void RNA_def_struct_path_func(StructRNA *srna, const char *path)
PropertyRNA * RNA_def_pointer(StructOrFunctionRNA *cont_, const char *identifier, const char *type, const char *ui_name, const char *ui_description)
void RNA_def_property_boolean_sdna(PropertyRNA *prop, const char *structname, const char *propname, int64_t bit)
void RNA_def_parameter_clear_flags(PropertyRNA *prop, PropertyFlag flag_property, ParameterFlag flag_parameter)
void RNA_def_property_string_funcs(PropertyRNA *prop, const char *get, const char *length, const char *set)
void RNA_def_property_float_default(PropertyRNA *prop, float value)
void RNA_def_function_return(FunctionRNA *func, PropertyRNA *ret)
void RNA_def_property_float_funcs(PropertyRNA *prop, const char *get, const char *set, const char *range)
void RNA_def_property_ui_text(PropertyRNA *prop, const char *name, const char *description)
void RNA_def_property_string_sdna(PropertyRNA *prop, const char *structname, const char *propname)
void RNA_def_property_ui_icon(PropertyRNA *prop, int icon, int consecutive)
FunctionRNA * RNA_def_function(StructRNA *srna, const char *identifier, const char *call)
void RNA_def_property_srna(PropertyRNA *prop, const char *type)
void RNA_def_struct_ui_text(StructRNA *srna, const char *name, const char *description)
void RNA_def_property_boolean_funcs(PropertyRNA *prop, const char *get, const char *set)
void RNA_def_property_dynamic_array_funcs(PropertyRNA *prop, const char *getlength)
void RNA_def_property_multi_array(PropertyRNA *prop, int dimension, const int length[])
void RNA_def_property_enum_items(PropertyRNA *prop, const EnumPropertyItem *item)
void RNA_def_struct_sdna(StructRNA *srna, const char *structname)
void RNA_def_property_array(PropertyRNA *prop, int length)
void RNA_def_property_range(PropertyRNA *prop, double min, double max)
void RNA_def_struct_sdna_from(StructRNA *srna, const char *structname, const char *propname)
void RNA_def_property_struct_type(PropertyRNA *prop, const char *type)
void RNA_def_property_collection_sdna(PropertyRNA *prop, const char *structname, const char *propname, const char *lengthpropname)
void RNA_def_function_ui_description(FunctionRNA *func, const char *description)
void RNA_def_property_update(PropertyRNA *prop, int noteflag, const char *func)
const int rna_matrix_dimsize_4x4[]
void RNA_def_property_enum_funcs(PropertyRNA *prop, const char *get, const char *set, const char *item)
PropertyRNA * RNA_def_property(StructOrFunctionRNA *cont_, const char *identifier, int type, int subtype)
void RNA_def_property_enum_bitflag_sdna(PropertyRNA *prop, const char *structname, const char *propname)
void RNA_def_struct_name_property(struct StructRNA *srna, struct PropertyRNA *prop)
void RNA_def_function_flag(FunctionRNA *func, int flag)
void RNA_def_property_clear_flag(PropertyRNA *prop, PropertyFlag flag)
void RNA_def_property_pointer_funcs(PropertyRNA *prop, const char *get, const char *set, const char *type_fn, const char *poll)
StructRNA * RNA_def_struct(BlenderRNA *brna, const char *identifier, const char *from)
void RNA_def_property_enum_sdna(PropertyRNA *prop, const char *structname, const char *propname)
void RNA_def_struct_ui_icon(StructRNA *srna, int icon)
void RNA_def_property_flag(PropertyRNA *prop, PropertyFlag flag)
void RNA_def_property_float_sdna(PropertyRNA *prop, const char *structname, const char *propname)
void RNA_def_property_ui_range(PropertyRNA *prop, double min, double max, double step, int precision)
void RNA_def_property_int_sdna(PropertyRNA *prop, const char *structname, const char *propname)
void RNA_def_property_boolean_negative_sdna(PropertyRNA *prop, const char *structname, const char *propname, int64_t booleanbit)
void RNA_def_property_override_flag(PropertyRNA *prop, PropertyOverrideFlag flag)
void RNA_def_parameter_flags(PropertyRNA *prop, PropertyFlag flag_property, ParameterFlag flag_parameter)
const EnumPropertyItem rna_enum_driver_target_rotation_mode_items[]
const EnumPropertyItem rna_enum_axis_xyz_items[]
const EnumPropertyItem rna_enum_modifier_shrinkwrap_mode_items[]
const EnumPropertyItem rna_enum_object_axis_items[]
struct bConstraintTarget * next