bbox.cpp

changeset 164
8c93d8e38494
parent 160
edcb03f3ef75
child 168
96691a009dff
equal deleted inserted replaced
163:46955613626d 164:8c93d8e38494
110 // ============================================================================= 110 // =============================================================================
111 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 111 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
112 // ============================================================================= 112 // =============================================================================
113 void bbox::calcVertex (vertex v) { 113 void bbox::calcVertex (vertex v) {
114 for (const Axis ax : g_Axes) { 114 for (const Axis ax : g_Axes) {
115 if (v[ax] < v0[ax]) 115 if (v[ax] < m_v0[ax])
116 v0[ax] = v[ax]; 116 m_v0[ax] = v[ax];
117 117
118 if (v[ax] > v1[ax]) 118 if (v[ax] > m_v1[ax])
119 v1[ax] = v[ax]; 119 m_v1[ax] = v[ax];
120 } 120 }
121
122 m_empty = false;
121 } 123 }
122 124
123 // ============================================================================= 125 // =============================================================================
124 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 126 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
125 // ============================================================================= 127 // =============================================================================
126 void bbox::reset () { 128 void bbox::reset () {
127 v0[X] = v0[Y] = v0[Z] = +0x7FFFFFFF; 129 m_v0[X] = m_v0[Y] = m_v0[Z] = +0x7FFFFFFF;
128 v1[X] = v1[Y] = v1[Z] = -0x7FFFFFFF; 130 m_v1[X] = m_v1[Y] = m_v1[Z] = -0x7FFFFFFF;
131
132 m_empty = true;
129 } 133 }
130 134
131 // ============================================================================= 135 // =============================================================================
132 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 136 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
133 // ============================================================================= 137 // =============================================================================
134 double bbox::size () const { 138 double bbox::size () const {
135 double fXScale = (v0[X] - v1[X]); 139 double fXScale = (m_v0[X] - m_v1[X]);
136 double fYScale = (v0[Y] - v1[Y]); 140 double fYScale = (m_v0[Y] - m_v1[Y]);
137 double fZScale = (v0[Z] - v1[Z]); 141 double fZScale = (m_v0[Z] - m_v1[Z]);
138 double fSize = fZScale; 142 double fSize = fZScale;
139 143
140 if (fXScale > fYScale) { 144 if (fXScale > fYScale) {
141 if (fXScale > fZScale) 145 if (fXScale > fZScale)
142 fSize = fXScale; 146 fSize = fXScale;
150 } 154 }
151 155
152 // ============================================================================= 156 // =============================================================================
153 vertex bbox::center () const { 157 vertex bbox::center () const {
154 return vertex ( 158 return vertex (
155 (v0[X] + v1[X]) / 2, 159 (m_v0[X] + m_v1[X]) / 2,
156 (v0[Y] + v1[Y]) / 2, 160 (m_v0[Y] + m_v1[Y]) / 2,
157 (v0[Z] + v1[Z]) / 2); 161 (m_v0[Z] + m_v1[Z]) / 2);
158 } 162 }
163
164 // =============================================================================
165 bool bbox::empty() const {
166 return m_empty;
167 }

mercurial