Beispiel #1
0
        public static bool IsAnchor(SpringNode node, SpringSkeleton skeleton)
        {
            // necessary to store the reference somewhere
            SpringNodeAnchor anchor;

            return(SpringNode.IsAnchor(node, skeleton, out anchor));
        }
Beispiel #2
0
        public static bool IsAnchor(SpringNode node, SpringSkeleton skeleton, out SpringNodeAnchor anchor)
        {
            anchor = null;
            for (int i = 0; i < skeleton.Anchors.Count; i++)
            {
                if (skeleton.Anchors[i].Node == node)
                {
                    anchor = skeleton.Anchors[i];

                    return(true);
                }
            }

            return(false);
        }
Beispiel #3
0
        public static void CreateChain(SpringSkeleton skeleton, int parts, float partDistance, Vector3 origin, bool right)
        {
            SpringNode start = new SpringNode(origin);

            skeleton.Nodes.Add(start);

            SpringNode previous = start;

            for (int i = 0; i < parts; i++)
            {
                // hack
                Vector3 newPosition = Vector3.Zero;

                if (right)
                {
                    newPosition =
                        previous.Position +
                        new Vector3(partDistance, 0, 0);
                }
                else
                {
                    newPosition =
                        previous.Position -
                        new Vector3(partDistance, 0, 0);
                }

                SpringNode next = new SpringNode(newPosition);

                previous.Neighbors[next] = partDistance;
                next.Neighbors[previous] = partDistance;

                skeleton.Nodes.Add(next);

                previous = next;
            }

            SpringNode end = new SpringNode(previous.Position + new Vector3(partDistance, 0, 0));

            previous.Neighbors[end] = partDistance;
            end.Neighbors[previous] = partDistance;

            skeleton.Nodes.Add(end);
        }
Beispiel #4
0
        public static void CreateChain(SpringSkeleton skeleton, int parts, float partDistance, Vector3 origin, bool right)
        {
            SpringNode start = new SpringNode(origin);

            skeleton.Nodes.Add(start);

            SpringNode previous = start;

            for (int i = 0; i < parts; i++) {
                // hack
                Vector3 newPosition = Vector3.Zero;

                if (right) {
                    newPosition =
                        previous.Position +
                        new Vector3(partDistance, 0, 0);
                } else {
                    newPosition =
                        previous.Position -
                        new Vector3(partDistance, 0, 0);
                }

                SpringNode next = new SpringNode(newPosition);

                previous.Neighbors[next] = partDistance;
                next.Neighbors[previous] = partDistance;

                skeleton.Nodes.Add(next);

                previous = next;
            }

            SpringNode end = new SpringNode(previous.Position + new Vector3(partDistance, 0, 0));

            previous.Neighbors[end] = partDistance;
            end.Neighbors[previous] = partDistance;

            skeleton.Nodes.Add(end);
        }
Beispiel #5
0
        public static bool IsAnchor(SpringNode node, SpringSkeleton skeleton, out SpringNodeAnchor anchor)
        {
            anchor = null;
            for (int i = 0; i < skeleton.Anchors.Count; i++) {
                if (skeleton.Anchors[i].Node == node) {
                    anchor = skeleton.Anchors[i];

                    return true;
                }
            }

            return false;
        }
Beispiel #6
0
        public static bool IsAnchor(SpringNode node, SpringSkeleton skeleton)
        {
            // necessary to store the reference somewhere
            SpringNodeAnchor anchor;

            return SpringNode.IsAnchor(node, skeleton, out anchor);
        }