Пример #1
0
    protected override void CloneData(CommandNode node)
    {
      base.CloneData(node);

      CNJointGroups clone = (CNJointGroups)node;

      clone.objectsA_  = ObjectsA.DeepClone();
      clone.objectsB_  = ObjectsB.DeepClone();
      clone.locatorsC_ = LocatorsC.DeepClone();

      clone.delayedCreationTime_        = delayedCreationTime_;
      clone.creationMode_               = creationMode_;
      clone.isRigidGlue_                = isRigidGlue_;
      clone.contactDistanceSearch_      = contactDistanceSearch_;
      clone.contactAreaMin_             = contactAreaMin_;
      clone.contactAngleMaxInDegrees_   = contactAngleMaxInDegrees_;
      clone.contactNumberMax_           = contactNumberMax_;

      clone.matchingDistanceSearch_     = matchingDistanceSearch_;
      clone.limitNumberOfActiveJoints_  = limitNumberOfActiveJoints_;
      clone.activeJointsMaxInABPair_    = activeJointsMaxInABPair_;

      clone.disableCollisionsByPairs_       = disableCollisionsByPairs_;
      clone.disableAllCollisionsOfAsWithBs_ = disableAllCollisionsOfAsWithBs_;

      clone.forcemaxMode_                = forcemaxMode_;
      clone.forceMax_                    = forceMax_;
      clone.forceMaxRand_                = forceMaxRand_;
      clone.forceProfile_                = forceProfile_.DeepClone();
      
      clone.enableCollisionIfBreak_    = enableCollisionIfBreak_;
      clone.breakIfForceMax_           = breakIfForceMax_;
      clone.breakAllIfLeftFewUnbroken_ = breakAllIfLeftFewUnbroken_;
      clone.unbrokenNumberForBreakAll_ = unbrokenNumberForBreakAll_;
      clone.breakIfDistExcedeed_       = breakIfDistExcedeed_;
      clone.distanceForBreak_          = distanceForBreak_;
      clone.distanceForBreakRand_      = distanceForBreakRand_;
      clone.breakIfHinge_              = breakIfHinge_;

      clone.plasticity_                = plasticity_;
      clone.distanceForPlasticity_     = distanceForPlasticity_;
      clone.plasticityRateAcquired_    = plasticityRateAcquired_;

      clone.delayedCreationTime_       = delayedCreationTime_;
      clone.damping_                   = damping_;
    }
Пример #2
0
        protected override void CloneData(CommandNode node)
        {
            base.CloneData(node);

            CNServos clone = (CNServos)node;

            clone.objectsA_ = ObjectsA.DeepClone();
            clone.objectsB_ = ObjectsB.DeepClone();

            clone.isLinearOrAngular_ = isLinearOrAngular_;

            clone.isPositionOrVelocity_ = isPositionOrVelocity_;
            clone.isCreateModeNearest_  = isCreateModeNearest_;
            clone.isCreateModeChain_    = isCreateModeChain_;

            clone.localSystem_ = localSystem_;

            clone.isFreeX_ = isFreeX_;
            clone.isFreeY_ = isFreeY_;
            clone.isFreeZ_ = isFreeZ_;

            clone.isBlockedX_ = isBlockedX_;
            clone.isBlockedY_ = isBlockedY_;
            clone.isBlockedZ_ = isBlockedZ_;

            clone.disableCollisionByPairs_ = disableCollisionByPairs_;

            clone.targetExternal_LOCAL_ = targetExternal_LOCAL_;

            if (targetExternal_LOCAL_NEW_ != null)
            {
                clone.targetExternal_LOCAL_NEW_ = targetExternal_LOCAL_NEW_.DeepClone();
            }

            clone.reactionTime_      = reactionTime_;
            clone.overreactionDelta_ = overreactionDelta_;;

            clone.speedMax_     = speedMax_;
            clone.maximumSpeed_ = maximumSpeed_;
            clone.powerMax_     = powerMax_;
            clone.maximumPower_ = maximumPower_;
            clone.forceMax_     = forceMax_;
            clone.maximumForce_ = maximumForce_;

            clone.brakePowerMax_        = brakePowerMax_;
            clone.maximumBrakePowerMax_ = maximumBrakePowerMax_;
            clone.brakeForceMax_        = brakeForceMax_;
            clone.maximumBrakeForceMax_ = maximumBrakeForceMax_;

            clone.isBreakIfDist_ = isBreakIfDist_;
            clone.isBreakIfAng_  = isBreakIfAng_;

            clone.breakDistance_       = breakDistance_;
            clone.breakAngleInDegrees_ = breakAngleInDegrees_;

            clone.dampingForce_ = dampingForce_;

            clone.distStepToDefineMultiplierDependingOnDist_ = distStepToDefineMultiplierDependingOnDist_;
            clone.functionMultiplierDependingOnDist_         = functionMultiplierDependingOnDist_.DeepClone();

            clone.multiplier_ = multiplier_;
        }