| 966 | |
| 967 | |
| 968 | v8::Local<v8::Value> ShapeFactory::add(const std::vector<Base*>& shapes) |
| 969 | { |
| 970 | TopoDS_Compound compound; |
| 971 | BRep_Builder builder; |
| 972 | |
| 973 | v8::Local<v8::Value> pJhis(Solid::NewInstance()); |
| 974 | Solid* pThis = Nan::ObjectWrap::Unwrap<Solid>(Nan::To<v8::Object>(pJhis).ToLocalChecked()); |
| 975 | try { |
| 976 | |
| 977 | builder.MakeCompound(compound); |
| 978 | |
| 979 | for (size_t i = 0; i < shapes.size(); i++) { |
| 980 | |
| 981 | const TopoDS_Shape& shape = shapes[i]->shape(); |
| 982 | builder.Add(compound, shape); |
| 983 | } |
| 984 | |
| 985 | pThis->setShape(compound); |
| 986 | |
| 987 | } |
| 988 | CATCH_AND_RETHROW_NO_RETURN("Failed in compound operation"); |
| 989 | return pJhis; |
| 990 | |
| 991 | } |
| 992 | |
| 993 | NAN_METHOD(ShapeFactory::compound) |
| 994 | { |
no test coverage detected