SWKBody (Object)

This interface represents the body of the manikin.
It provides access to the manikin structure.

Properties


Property CenterOfGravity() As (Read Only)
Returns the center of gravity of the current manikin.
Property CenterOfGravityDisplayed() As
Returns or sets the display of the center of gravity.
Property CentralConeDisplayed() As
Returns or sets the central cone display of the active line of sight.
Property ConeTypeBoundedCone() As (Read Only)
Returns or sets the cone type display to bounded cone for the peripheral and central cone.
Property ConeTypeBoundings() As (Read Only)
Returns or sets the cone type display to boundings for the peripheral and central cone.
Property ConeTypeFlat() As (Read Only)
Returns or sets the cone type display to flat for the peripheral and central cone.
Property ConeTypeSpherical() As (Read Only)
Returns or sets the cone type display to spherical for the peripheral and central cone.
Property EllipsesDisplayed() As
Returns or sets the display of the manikin ellipses.
Property LineOfSightDisplayed() As
Returns or sets the display of the active line of sight.
Property Memo() As
Returns or records miscellaneous user-added comments about the posture.
Property NumberOfSegments() As (Read Only)
Returns the number of segments of the body.
Property PeripheralConeDisplayed() As
Returns or sets the peripheral cone display of the active line of sight.
Property Referential() As
Returns or sets the referential of the manikin. Possible values are "HPoint", "EyePoint", "LeftFoot", "RightFoot", "LowestFoot", "BetweenFeet" and "Crotch". If this manikin is a forearm model, than the possible values are either "LeftHand" or "RightHand".
Example:
 myManikin.Body.Referential = "LowestFoot"

Property ReferentialDisplayed() As
Returns or sets the display of the referential.
Property SegmentsDisplayed() As
Returns or sets the display of the segments.
Property SkinDisplayed() As
Returns or sets the display of the manikin surfaces (skin).
Property SkinResolution() As
Returns or sets the manikin skin resolution.
The valid values range from 4 to 128.

Methods


Sub ApplyPosition( piPositionIncrement)
Sets a new relative manikin position.
Parameters:
piPositionIncrement
The new position to combine with the manikin's current position.
This array must contain 12 numbers, and msut be initialized using the four columns of a transformation matrix. The first nine components represent the rotation matrix.
The last three components represent the translation vector.
Example:
 This example sets the manikin to a 45-degree rotation around
 the x axis and at a (10, 20, 30) translation from the origin.
 Dim myPosition(11)
 'Rotation (45 degrees around the x axis)
 myPosition(0)  = 1.000
 myPosition(1)  = 0
 myPosition(2)  = 0
 myPosition(3)  = 0
 myPosition(4)  = 0.707
 myPosition(5)  = 0.707
 myPosition(6)  = 0
 myPosition(7)  = -0.707
 myPosition(8)  = 0.707
 'Translation vector (10,20,30)
 myPosition(9)  = 10.000
 myPosition(10) = 20.000
 myPosition(11) = 30.000
 myManikin.Body.ApplyPosition myPosition
 
Func GetSegment( piIndex) As
Returns a specific segment of the body, based on an index.
Parameters:
piIndex
The index of the segment to retrieve.
The first segment is at index 0.
The value of this parameter should not be higher than the number of segments on the body, minus 1.
Func IsBalanced() As
Returns:
True if the manikin is well-balaned, False otherwise.
Being well balanced means that the center of gravity of the manikin
falls inside its basis of support, given the manikin's current posture.
Sub LockPosture( piDOFId)
Lock the body in the given dof
Sub ResetAngularLimitations( piDOFId, piReset)
Resets the angular limitations depending on the param piReset: 0 -> 2 OR 3 OR 4 depending of the first encountered. 1 -> 2 AND 3 AND 4 2 -> Unlock the value 3 -> Restore the angular limitations if it is "No Limits" 4 -> Set back the angular limitations to their default value (50.0%)
Sub ResetAttaches()
Reset the attaches of the body.
Sub ResetIKOffsets()
Reset the offsets of the body.
Sub ResetPosture()
Set the manikin to the default (standing) posture.
Sub ResetPrefAngles( piDOFId)
Reset the pref angles of the body.
Sub SetConeTypeBoundedCone()
Sub SetConeTypeBoundings()
Sub SetConeTypeFlat()
Sub SetConeTypeSpherical()
Sub SetPosition( piNewPosition)
Sets a new absolute manikin position.
Parameters:
piNewPosition
The new position to place the manikin.
This array must contain 12 numbers, and msut be initialized using the four columns of a transformation matrix. The first nine components represent the rotation matrix.
The last three components represent the translation vector.
Example:
 This example sets the manikin to a 45-degree rotation around
 the x axis and at a (10, 20, 30) translation from the origin.
 Dim myPosition(11)
 'Rotation (45 degrees around the x axis)
 myPosition(0)  = 1.000
 myPosition(1)  = 0
 myPosition(2)  = 0
 myPosition(3)  = 0
 myPosition(4)  = 0.707
 myPosition(5)  = 0.707
 myPosition(6)  = 0
 myPosition(7)  = -0.707
 myPosition(8)  = 0.707
 'Translation vector (10,20,30)
 myPosition(9)  = 10.000
 myPosition(10) = 20.000
 myPosition(11) = 30.000
 myManikin.Body.SetPosition myPosition
 
Sub SetPosture( piPostureSpec, piKeepReferential)
Set the manikin to a specific predefined posture.
Predefined postures include "Stand", "Sit", "Reach"
and "Kneel".
See also:
Parameters:
piKeepReferential
keeps the referential after the change of the posture
Sub SetToBestPosture()
Set the manikin to the posture that will provide it its maximum score.
When the manikin is in that posture, then the output of property
PosturalScore will be the same as that of property MaxPosturalScore.
Sub SwapAngularLimitations( piDOFId)
Swap the angular limitations of the body.
Sub SwapPosture()
Swap the posture with the equivalent segment, on the other side of the manikin. For instance, the right leg takes the posture of the left leg, and vice versa.
Sub SwapPrefAngles( piDOFId)
Swap the preferred angles of the body.