diff --git a/include/obj/NiBSplineData.h b/include/obj/NiBSplineData.h index 3372eeba414817aca52eea754dc5b4d345f1d7b5..e83e15a8d7788c1a9498f94016f0efb6ba28dcf4 100644 --- a/include/obj/NiBSplineData.h +++ b/include/obj/NiBSplineData.h @@ -72,6 +72,12 @@ public: */ NIFLIB_API void AppendFloatControlPoints(vector<float> value); + /*! + * Get the number of float control points stored in the data + * \return The number of float control points + */ + NIFLIB_API int GetNumFloatControlPoints(); + /*! * Get Range of signed shorts representing the data scaled by SHRT_MAX. * \param[in] offset The start of the range. @@ -98,6 +104,12 @@ public: */ NIFLIB_API void AppendShortControlPoints(vector<short> value); + /*! + * Get the number of short control points stored in the data + * \return The number of short control points + */ + NIFLIB_API int GetNumShortControlPoints(); + /*! * Get Range of signed shorts representing the data scaled by SHRT_MAX. * \param[in] offset The start of the range. diff --git a/src/obj/NiBSplineData.cpp b/src/obj/NiBSplineData.cpp index bd11443889826fb6d36707365e2c4117f1471bf4..9e887f4e8102cdf9b1103a92418d338f7b4b95bb 100644 --- a/src/obj/NiBSplineData.cpp +++ b/src/obj/NiBSplineData.cpp @@ -157,7 +157,6 @@ void NiBSplineData::SetFloatControlPoints( vector<float> value ) } } - void NiBSplineData::AppendFloatControlPoints( vector<float> value ) { this->numFloatControlPoints += value.size(); @@ -167,6 +166,10 @@ void NiBSplineData::AppendFloatControlPoints( vector<float> value ) } } +int NiBSplineData::GetNumFloatControlPoints() +{ + return this->numFloatControlPoints; +} vector<float> NiBSplineData::GetFloatControlPointRange(int offset, int count) const { @@ -203,6 +206,13 @@ void NiBSplineData::AppendShortControlPoints( vector<short> value ) } } + +int NiBSplineData::GetNumShortControlPoints() +{ + return this->numShortControlPoints; +} + + vector<short > NiBSplineData::GetShortControlPointRange(int offset, int count) const { vector<short> value;