1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
3 // File: FeaturesPlugin_RevolutionBoolean.h
4 // Created: 11 June 2015
5 // Author: Dmitry Bobylev
7 #ifndef FeaturesPlugin_RevolutionBoolean_H_
8 #define FeaturesPlugin_RevolutionBoolean_H_
10 #include <FeaturesPlugin_CompositeBoolean.h>
12 /** \class FeaturesPlugin_RevolutionBoolean
15 class FeaturesPlugin_RevolutionBoolean : public FeaturesPlugin_CompositeBoolean
18 /// Attribute name of an revolution axis.
19 inline static const std::string& AXIS_OBJECT_ID()
21 static const std::string MY_AXIS_ID("axis_object");
25 /// Attribute name of an object from which the revolution grows.
26 inline static const std::string& FROM_OBJECT_ID()
28 static const std::string MY_FROM_OBJECT_ID("from_object");
29 return MY_FROM_OBJECT_ID;
32 /// Attribute name of revolution from angle.
33 inline static const std::string& FROM_ANGLE_ID()
35 static const std::string MY_FROM_ANGLE_ID("from_angle");
36 return MY_FROM_ANGLE_ID;
39 /// attribute name of an object to which the revolution grows.
40 inline static const std::string& TO_OBJECT_ID()
42 static const std::string MY_TO_OBJECT_ID("to_object");
43 return MY_TO_OBJECT_ID;
46 /// Attribute name of revolution to angle.
47 inline static const std::string& TO_ANGLE_ID()
49 static const std::string MY_TO_ANGLE_ID("to_angle");
50 return MY_TO_ANGLE_ID;
54 /// Init attributes for revolution.
55 virtual void initMakeSolidsAttributes();
57 /// Create solids from faces with revolution.
58 virtual ListOfShape MakeSolids(const ListOfShape& theFaces);
61 FeaturesPlugin_RevolutionBoolean(){};