@@ -123,32 +123,32 @@ NAN_METHOD(Core::Kmeans) {
123123 std::vector<int > labels;
124124 cv::Mat centersMat;
125125
126- if (FF_IS_INSTANCE (Point2::constructor, data0) || FF_IS_INSTANCE (Vec2::constructor, data0) ) {
126+ if (FF_IS_INSTANCE (Point2::constructor, data0)) {
127127 std::vector<cv::Point2f> data;
128128 Point::unpackJSPoint2Array (data, jsData);
129129 cv::kmeans (data, k, labels, termCriteria, attempts, flags, centersMat);
130130 }
131- else if (FF_IS_INSTANCE (Point3::constructor, data0) || FF_IS_INSTANCE (Vec3::constructor, data0) ) {
131+ else if (FF_IS_INSTANCE (Point3::constructor, data0)) {
132132 std::vector<cv::Point3f> data;
133133 Point::unpackJSPoint3Array (data, jsData);
134134 cv::kmeans (data, k, labels, termCriteria, attempts, flags, centersMat);
135135 }
136136 else {
137- FF_THROW (" unknowned input data type " );
137+ FF_THROW (" expected arg0 to be an Array of Points " );
138138 }
139139
140140 FF_OBJ ret = FF_NEW_OBJ ();
141141 FF_PACK_ARRAY (jsLabels, labels);
142142 Nan::Set (ret, FF_NEW_STRING (" labels" ), jsLabels);
143143
144- if (FF_IS_INSTANCE (Point2::constructor, data0) || FF_IS_INSTANCE (Vec2::constructor, data0) ) {
144+ if (FF_IS_INSTANCE (Point2::constructor, data0)) {
145145 std::vector<cv::Point2f> centers;
146146 for (int i = 0 ; i < centersMat.rows ; i++) {
147147 centers.push_back (cv::Point2f (centersMat.at <float >(i, 0 ), centersMat.at <float >(i, 1 )));
148148 }
149149 Nan::Set (ret, FF_NEW_STRING (" centers" ), Point::packJSPoint2Array<float >(centers));
150150 }
151- else if (FF_IS_INSTANCE (Point3::constructor, data0) || FF_IS_INSTANCE (Vec3::constructor, data0) ) {
151+ else if (FF_IS_INSTANCE (Point3::constructor, data0)) {
152152 std::vector<cv::Point3f> centers;
153153 for (int i = 0 ; i < centersMat.rows ; i++) {
154154 centers.push_back (cv::Point3f (centersMat.at <float >(i, 0 ), centersMat.at <float >(i, 1 ), centersMat.at <float >(i, 2 )));
0 commit comments