@@ -136,7 +136,7 @@ T CurvesPrimitiveEvaluator::Result::primVar( const PrimitiveVariable &primVar, c
136
136
137
137
Imath::V3f CurvesPrimitiveEvaluator::Result::point () const
138
138
{
139
- return primVar<V3f>( m_p, m_coefficients );
139
+ return primVar<V3f>( m_p, m_coefficients. data () );
140
140
}
141
141
142
142
Imath::V3f CurvesPrimitiveEvaluator::Result::normal () const
@@ -156,32 +156,57 @@ Imath::V3f CurvesPrimitiveEvaluator::Result::uTangent() const
156
156
157
157
Imath::V3f CurvesPrimitiveEvaluator::Result::vTangent () const
158
158
{
159
- return primVar<V3f>( m_p, m_derivativeCoefficients );
159
+ return primVar<V3f>( m_p, m_derivativeCoefficients. data () );
160
160
}
161
161
162
162
unsigned CurvesPrimitiveEvaluator::Result::curveIndex () const
163
163
{
164
164
return m_curveIndex;
165
165
}
166
166
167
+ const std::array<float , 4 > &CurvesPrimitiveEvaluator::Result::coefficients () const
168
+ {
169
+ return m_coefficients;
170
+ }
171
+
172
+ const std::array<float , 4 > &CurvesPrimitiveEvaluator::Result::derivativeCoefficients () const
173
+ {
174
+ return m_derivativeCoefficients;
175
+ }
176
+
177
+ const std::array<unsigned , 4 > &CurvesPrimitiveEvaluator::Result::vertexDataIndices () const
178
+ {
179
+ return m_vertexDataIndices;
180
+ }
181
+
182
+ const std::array<unsigned , 2 > &CurvesPrimitiveEvaluator::Result::varyingDataIndices () const
183
+ {
184
+ return m_varyingDataIndices;
185
+ }
186
+
187
+ bool CurvesPrimitiveEvaluator::Result::linear () const
188
+ {
189
+ return m_linear;
190
+ }
191
+
167
192
Imath::V3f CurvesPrimitiveEvaluator::Result::vectorPrimVar ( const PrimitiveVariable &pv ) const
168
193
{
169
- return primVar<V3f>( pv, m_coefficients );
194
+ return primVar<V3f>( pv, m_coefficients. data () );
170
195
}
171
196
172
197
V2f CurvesPrimitiveEvaluator::Result::vec2PrimVar ( const PrimitiveVariable &pv ) const
173
198
{
174
- return primVar<V2f>( pv, m_coefficients );
199
+ return primVar<V2f>( pv, m_coefficients. data () );
175
200
}
176
201
177
202
float CurvesPrimitiveEvaluator::Result::floatPrimVar ( const PrimitiveVariable &pv ) const
178
203
{
179
- return primVar<float >( pv, m_coefficients );
204
+ return primVar<float >( pv, m_coefficients. data () );
180
205
}
181
206
182
207
int CurvesPrimitiveEvaluator::Result::intPrimVar ( const PrimitiveVariable &pv ) const
183
208
{
184
- return primVar<int >( pv, m_coefficients );
209
+ return primVar<int >( pv, m_coefficients. data () );
185
210
}
186
211
187
212
const std::string &CurvesPrimitiveEvaluator::Result::stringPrimVar ( const PrimitiveVariable &pv ) const
@@ -208,12 +233,12 @@ const std::string &CurvesPrimitiveEvaluator::Result::stringPrimVar( const Primit
208
233
209
234
Imath::Color3f CurvesPrimitiveEvaluator::Result::colorPrimVar ( const PrimitiveVariable &pv ) const
210
235
{
211
- return primVar<Color3f>( pv, m_coefficients );
236
+ return primVar<Color3f>( pv, m_coefficients. data () );
212
237
}
213
238
214
239
half CurvesPrimitiveEvaluator::Result::halfPrimVar ( const PrimitiveVariable &pv ) const
215
240
{
216
- return primVar<half>( pv, m_coefficients );
241
+ return primVar<half>( pv, m_coefficients. data () );
217
242
}
218
243
219
244
template <bool linear, bool periodic>
@@ -274,8 +299,8 @@ void CurvesPrimitiveEvaluator::Result::init( unsigned curveIndex, float v, const
274
299
}
275
300
else
276
301
{
277
- basis.coefficients ( m_segmentV, m_coefficients );
278
- basis.derivativeCoefficients ( m_segmentV, m_derivativeCoefficients );
302
+ basis.coefficients ( m_segmentV, m_coefficients. data () );
303
+ basis.derivativeCoefficients ( m_segmentV, m_derivativeCoefficients. data () );
279
304
280
305
if ( periodic )
281
306
{
0 commit comments