@@ -136,7 +136,7 @@ T CurvesPrimitiveEvaluator::Result::primVar( const PrimitiveVariable &primVar, c
136136
137137Imath::V3f CurvesPrimitiveEvaluator::Result::point () const
138138{
139- return primVar<V3f>( m_p, m_coefficients );
139+ return primVar<V3f>( m_p, m_coefficients. data () );
140140}
141141
142142Imath::V3f CurvesPrimitiveEvaluator::Result::normal () const
@@ -156,32 +156,57 @@ Imath::V3f CurvesPrimitiveEvaluator::Result::uTangent() const
156156
157157Imath::V3f CurvesPrimitiveEvaluator::Result::vTangent () const
158158{
159- return primVar<V3f>( m_p, m_derivativeCoefficients );
159+ return primVar<V3f>( m_p, m_derivativeCoefficients. data () );
160160}
161161
162162unsigned CurvesPrimitiveEvaluator::Result::curveIndex () const
163163{
164164 return m_curveIndex;
165165}
166166
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+
167192Imath::V3f CurvesPrimitiveEvaluator::Result::vectorPrimVar ( const PrimitiveVariable &pv ) const
168193{
169- return primVar<V3f>( pv, m_coefficients );
194+ return primVar<V3f>( pv, m_coefficients. data () );
170195}
171196
172197V2f CurvesPrimitiveEvaluator::Result::vec2PrimVar ( const PrimitiveVariable &pv ) const
173198{
174- return primVar<V2f>( pv, m_coefficients );
199+ return primVar<V2f>( pv, m_coefficients. data () );
175200}
176201
177202float CurvesPrimitiveEvaluator::Result::floatPrimVar ( const PrimitiveVariable &pv ) const
178203{
179- return primVar<float >( pv, m_coefficients );
204+ return primVar<float >( pv, m_coefficients. data () );
180205}
181206
182207int CurvesPrimitiveEvaluator::Result::intPrimVar ( const PrimitiveVariable &pv ) const
183208{
184- return primVar<int >( pv, m_coefficients );
209+ return primVar<int >( pv, m_coefficients. data () );
185210}
186211
187212const std::string &CurvesPrimitiveEvaluator::Result::stringPrimVar ( const PrimitiveVariable &pv ) const
@@ -208,12 +233,12 @@ const std::string &CurvesPrimitiveEvaluator::Result::stringPrimVar( const Primit
208233
209234Imath::Color3f CurvesPrimitiveEvaluator::Result::colorPrimVar ( const PrimitiveVariable &pv ) const
210235{
211- return primVar<Color3f>( pv, m_coefficients );
236+ return primVar<Color3f>( pv, m_coefficients. data () );
212237}
213238
214239half CurvesPrimitiveEvaluator::Result::halfPrimVar ( const PrimitiveVariable &pv ) const
215240{
216- return primVar<half>( pv, m_coefficients );
241+ return primVar<half>( pv, m_coefficients. data () );
217242}
218243
219244template <bool linear, bool periodic>
@@ -274,8 +299,8 @@ void CurvesPrimitiveEvaluator::Result::init( unsigned curveIndex, float v, const
274299 }
275300 else
276301 {
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 () );
279304
280305 if ( periodic )
281306 {
0 commit comments