示例#1
0
        public void CreateAllBuffer(Device device, Vector3 center, float radius)
        {
            if (first)
            {
                CreateAxieLinesBuffer(device, center, radius);

                arrows[0].CreateAllBuffer(device, AxisArrow.Point_To_X_Axis(center, radius));
                arrows[1].CreateAllBuffer(device, AxisArrow.Point_To_Y_Axis(center, radius));
                arrows[2].CreateAllBuffer(device, AxisArrow.Point_To_Z_Axis(center, radius));

                //只有第一次创建时才更新center,radius
                this.center = center;
                this.radius = radius;
                this.first  = false;
            }
            else
            {
                //非首次创建,则始终使用参考模型的center、radius
                CreateAxieLinesBuffer(device, this.center, this.radius);

                arrows[0].CreateAllBuffer(device, AxisArrow.Point_To_X_Axis(this.center, this.radius));
                arrows[1].CreateAllBuffer(device, AxisArrow.Point_To_Y_Axis(this.center, this.radius));
                arrows[2].CreateAllBuffer(device, AxisArrow.Point_To_Z_Axis(this.center, this.radius));
            }
        }