@@ -123,32 +123,32 @@ NAN_METHOD(Core::Kmeans) {
123
123
std::vector<int > labels;
124
124
cv::Mat centersMat;
125
125
126
- if (FF_IS_INSTANCE (Point2::constructor, data0) || FF_IS_INSTANCE (Vec2::constructor, data0) ) {
126
+ if (FF_IS_INSTANCE (Point2::constructor, data0)) {
127
127
std::vector<cv::Point2f> data;
128
128
Point::unpackJSPoint2Array (data, jsData);
129
129
cv::kmeans (data, k, labels, termCriteria, attempts, flags, centersMat);
130
130
}
131
- else if (FF_IS_INSTANCE (Point3::constructor, data0) || FF_IS_INSTANCE (Vec3::constructor, data0) ) {
131
+ else if (FF_IS_INSTANCE (Point3::constructor, data0)) {
132
132
std::vector<cv::Point3f> data;
133
133
Point::unpackJSPoint3Array (data, jsData);
134
134
cv::kmeans (data, k, labels, termCriteria, attempts, flags, centersMat);
135
135
}
136
136
else {
137
- FF_THROW (" unknowned input data type " );
137
+ FF_THROW (" expected arg0 to be an Array of Points " );
138
138
}
139
139
140
140
FF_OBJ ret = FF_NEW_OBJ ();
141
141
FF_PACK_ARRAY (jsLabels, labels);
142
142
Nan::Set (ret, FF_NEW_STRING (" labels" ), jsLabels);
143
143
144
- if (FF_IS_INSTANCE (Point2::constructor, data0) || FF_IS_INSTANCE (Vec2::constructor, data0) ) {
144
+ if (FF_IS_INSTANCE (Point2::constructor, data0)) {
145
145
std::vector<cv::Point2f> centers;
146
146
for (int i = 0 ; i < centersMat.rows ; i++) {
147
147
centers.push_back (cv::Point2f (centersMat.at <float >(i, 0 ), centersMat.at <float >(i, 1 )));
148
148
}
149
149
Nan::Set (ret, FF_NEW_STRING (" centers" ), Point::packJSPoint2Array<float >(centers));
150
150
}
151
- else if (FF_IS_INSTANCE (Point3::constructor, data0) || FF_IS_INSTANCE (Vec3::constructor, data0) ) {
151
+ else if (FF_IS_INSTANCE (Point3::constructor, data0)) {
152
152
std::vector<cv::Point3f> centers;
153
153
for (int i = 0 ; i < centersMat.rows ; i++) {
154
154
centers.push_back (cv::Point3f (centersMat.at <float >(i, 0 ), centersMat.at <float >(i, 1 ), centersMat.at <float >(i, 2 )));
0 commit comments