Project

General

Profile

« Previous | Next » 

Revision 45aedaa7

Added by Leszek Koltunski 10 months ago

Progress with a generic FactoryBandaged.

View differences:

src/main/java/org/distorted/objectlib/bandaged/FactoryBandagedCuboid.java
35 35

  
36 36
///////////////////////////////////////////////////////////////////////////////////////////////////
37 37

  
38
  public float[] elementVertices(int ax, boolean left, int element)
38
  public float[][] getVertices(int variant)
39 39
    {
40
    float[] pos = mElements[element].getPos();
41
    float[] ret = new float[12];
42

  
43
    switch(ax)
40
    return new float[][]
44 41
      {
45
      case 0: if( left )
46
                {
47
                ret[ 0] = pos[0]-0.5f;
48
                ret[ 1] = pos[1]+0.5f;
49
                ret[ 2] = pos[2]-0.5f;
50
                ret[ 3] = pos[0]-0.5f;
51
                ret[ 4] = pos[1]-0.5f;
52
                ret[ 5] = pos[2]-0.5f;
53
                ret[ 6] = pos[0]-0.5f;
54
                ret[ 7] = pos[1]-0.5f;
55
                ret[ 8] = pos[2]+0.5f;
56
                ret[ 9] = pos[0]-0.5f;
57
                ret[10] = pos[1]+0.5f;
58
                ret[11] = pos[2]+0.5f;
59
                }
60
              else
61
                {
62
                ret[ 0] = pos[0]+0.5f;
63
                ret[ 1] = pos[1]+0.5f;
64
                ret[ 2] = pos[2]+0.5f;
65
                ret[ 3] = pos[0]+0.5f;
66
                ret[ 4] = pos[1]-0.5f;
67
                ret[ 5] = pos[2]+0.5f;
68
                ret[ 6] = pos[0]+0.5f;
69
                ret[ 7] = pos[1]-0.5f;
70
                ret[ 8] = pos[2]-0.5f;
71
                ret[ 9] = pos[0]+0.5f;
72
                ret[10] = pos[1]+0.5f;
73
                ret[11] = pos[2]-0.5f;
74
                }
75
              break;
76
      case 1: if( left )
77
                {
78
                ret[ 0] = pos[0]-0.5f;
79
                ret[ 1] = pos[1]-0.5f;
80
                ret[ 2] = pos[2]+0.5f;
81
                ret[ 3] = pos[0]-0.5f;
82
                ret[ 4] = pos[1]-0.5f;
83
                ret[ 5] = pos[2]-0.5f;
84
                ret[ 6] = pos[0]+0.5f;
85
                ret[ 7] = pos[1]-0.5f;
86
                ret[ 8] = pos[2]-0.5f;
87
                ret[ 9] = pos[0]+0.5f;
88
                ret[10] = pos[1]-0.5f;
89
                ret[11] = pos[2]+0.5f;
90
                }
91
              else
92
                {
93
                ret[ 0] = pos[0]-0.5f;
94
                ret[ 1] = pos[1]+0.5f;
95
                ret[ 2] = pos[2]-0.5f;
96
                ret[ 3] = pos[0]-0.5f;
97
                ret[ 4] = pos[1]+0.5f;
98
                ret[ 5] = pos[2]+0.5f;
99
                ret[ 6] = pos[0]+0.5f;
100
                ret[ 7] = pos[1]+0.5f;
101
                ret[ 8] = pos[2]+0.5f;
102
                ret[ 9] = pos[0]+0.5f;
103
                ret[10] = pos[1]+0.5f;
104
                ret[11] = pos[2]-0.5f;
105
                }
106
              break;
107
      case 2: if( left )
108
                {
109
                ret[ 0] = pos[0]+0.5f;
110
                ret[ 1] = pos[1]+0.5f;
111
                ret[ 2] = pos[2]-0.5f;
112
                ret[ 3] = pos[0]+0.5f;
113
                ret[ 4] = pos[1]-0.5f;
114
                ret[ 5] = pos[2]-0.5f;
115
                ret[ 6] = pos[0]-0.5f;
116
                ret[ 7] = pos[1]-0.5f;
117
                ret[ 8] = pos[2]-0.5f;
118
                ret[ 9] = pos[0]-0.5f;
119
                ret[10] = pos[1]+0.5f;
120
                ret[11] = pos[2]-0.5f;
121
                }
122
              else
123
                {
124
                ret[ 0] = pos[0]-0.5f;
125
                ret[ 1] = pos[1]+0.5f;
126
                ret[ 2] = pos[2]+0.5f;
127
                ret[ 3] = pos[0]-0.5f;
128
                ret[ 4] = pos[1]-0.5f;
129
                ret[ 5] = pos[2]+0.5f;
130
                ret[ 6] = pos[0]+0.5f;
131
                ret[ 7] = pos[1]-0.5f;
132
                ret[ 8] = pos[2]+0.5f;
133
                ret[ 9] = pos[0]+0.5f;
134
                ret[10] = pos[1]+0.5f;
135
                ret[11] = pos[2]+0.5f;
136
                }
137
              break;
138
      }
139

  
140
    return ret;
42
        { 0.5f, 0.5f, 0.5f },
43
        { 0.5f, 0.5f,-0.5f },
44
        { 0.5f,-0.5f, 0.5f },
45
        { 0.5f,-0.5f,-0.5f },
46
        {-0.5f, 0.5f, 0.5f },
47
        {-0.5f, 0.5f,-0.5f },
48
        {-0.5f,-0.5f, 0.5f },
49
        {-0.5f,-0.5f,-0.5f },
50
      };
141 51
    }
142 52

  
143 53
///////////////////////////////////////////////////////////////////////////////////////////////////
144 54

  
145
  public boolean elementFaceNotNull(int ax, boolean left, int element)
146
     {
147
     return true;
148
     }
55
  public int[][] getIndices(int variant)
56
    {
57
    return new int[][]
58
      {
59
        {2,3,1,0},
60
        {7,6,4,5},
61
        {4,0,1,5},
62
        {7,3,2,6},
63
        {6,2,0,4},
64
        {3,7,5,1}
65
      };
66
    }
149 67

  
150 68
///////////////////////////////////////////////////////////////////////////////////////////////////
151 69

  

Also available in: Unified diff