@@ -74,6 +74,58 @@ class RoutingSearchParameters;
7474#include " ortools/util/optional_boolean.pb.h"
7575%}
7676
77+ // Add needed import to RoutingGlobalsPINVOKE.cs
78+ %pragma(csharp) imclassimports=%{
79+ // Types from ConstraintSolver
80+ using Google.OrTools .ConstraintSolver ;
81+ %}
82+
83+ // Protobuf support
84+ PROTO_INPUT (operations_research::routing::RoutingModelParameters,
85+ Google.OrTools.Routing.RoutingModelParameters,
86+ parameters)
87+ PROTO_INPUT(operations_research::routing::RoutingSearchParameters,
88+ Google.OrTools.Routing.RoutingSearchParameters,
89+ search_parameters)
90+ PROTO2_RETURN(operations_research::routing::IteratedLocalSearchParameters,
91+ Google.OrTools.Routing.IteratedLocalSearchParameters)
92+ PROTO2_RETURN(operations_research::routing::RoutingModelParameters,
93+ Google.OrTools.Routing.RoutingModelParameters)
94+ PROTO2_RETURN(operations_research::routing::RoutingSearchParameters,
95+ Google.OrTools.Routing.RoutingSearchParameters)
96+ PROTO_ENUM_RETURN(operations_research::routing::FirstSolutionStrategy::Value,
97+ Google.OrTools.Routing.FirstSolutionStrategy.Types.Value)
98+ PROTO_ENUM_RETURN(operations_research::routing::RoutingSearchStatus::Value,
99+ Google.OrTools.Routing.RoutingSearchStatus.Types.Value)
100+
101+ // Add needed import to RoutingGlobals.cs
102+ %pragma(csharp) moduleimports=%{
103+ // Types from ConstraintSolver
104+ using Google.OrTools .ConstraintSolver ;
105+ %}
106+
107+ // Wrap parameters.h according to the SWIG style guide.
108+ %ignoreall
109+ %unignore operations_research::routing;
110+ namespace operations_research ::routing {
111+ // parameters.h
112+ // IMPORTANT: These functions are global, so in .Net, they are in the
113+ // RoutingGlobals.cs file.
114+ %unignore DefaultRoutingSearchParameters;
115+ %unignore DefaultRoutingModelParameters;
116+ %unignore DefaultSecondaryRoutingSearchParameters;
117+ %unignore DefaultIteratedLocalSearchParameters;
118+ %unignore FindErrorInRoutingSearchParameters;
119+ // %unignore FindErrorsInRoutingSearchParameters; // vector<string> not wrapped
120+ } // namespace operations_research::routing
121+
122+ %include " ortools/routing/parameters.h"
123+ %unignoreall
124+
125+ // Routing
126+ // Wrap routing.h according to the SWIG style guide.
127+ %ignoreall
128+ %unignore operations_research::routing;
77129namespace operations_research ::routing {
78130
79131// GlobalVehicleBreaksConstraint
@@ -82,9 +134,6 @@ namespace operations_research::routing {
82134using Google.OrTools .ConstraintSolver ;
83135%}
84136
85- // PathsMetadata
86- %unignore PathsMetadata;
87-
88137// Routing Dimension
89138%unignore Dimension;
90139%typemap(csimports) Dimension %{
@@ -110,7 +159,20 @@ using Google.OrTools.ConstraintSolver;
110159 return groupDelay;
111160 }
112161%}
113- %ignore Dimension::GetBreakDistanceDurationOfVehicle;
162+ %unignore Dimension::Dimension;
163+ %unignore Dimension::~Dimension;
164+ %unignore Dimension::CumulVar;
165+ %unignore Dimension::GetQuadraticCostSoftSpanUpperBoundForVehicle;
166+ %unignore Dimension::GetSoftSpanUpperBoundForVehicle;
167+ %unignore Dimension::HasQuadraticCostSoftSpanUpperBounds;
168+ %unignore Dimension::HasSoftSpanUpperBounds;
169+ %unignore Dimension::SetBreakIntervalsOfVehicle;
170+ %unignore Dimension::SetCumulVarSoftUpperBound;
171+ %unignore Dimension::SetGlobalSpanCostCoefficient;
172+ %unignore Dimension::SetQuadraticCostSoftSpanUpperBoundForVehicle;
173+ %unignore Dimension::SetSoftSpanUpperBoundForVehicle;
174+ %unignore Dimension::SlackVar;
175+ %unignore Dimension::TransitVar;
114176
115177// Routing Model
116178%unignore Model;
@@ -146,60 +208,72 @@ using Domain = Google.OrTools.Util.Domain;
146208 return c;
147209 }
148210%}
149- %rename(" GetStatus" ) Model::status;
150- // Ignored:
151- %ignore Model::AddDimensionDependentDimensionWithVehicleCapacity;
152-
153- %unignore Model::RegisterUnaryTransitVector;
154- %unignore Model::RegisterTransitMatrix;
155-
156- %unignore Model::AddVectorDimension;
211+ %unignore Model::Model;
212+ %unignore Model::~Model;
213+ %unignore Model::AddAtSolutionCallback;
214+ %unignore Model::AddConstantDimensionWithSlack;
215+ %unignore Model::AddDimension;
216+ %unignore Model::AddDimensionWithVehicleCapacity;
217+ %unignore Model::AddDisjunction;
157218%unignore Model::AddMatrixDimension;
158-
159- %ignore Model::AddSameVehicleRequiredTypeAlternatives;
160- %ignore Model::GetAllDimensionNames;
161- %ignore Model::GetAutomaticFirstSolutionStrategy;
162- %ignore Model::GetDeliveryIndexPairs;
163- %ignore Model::GetDimensions;
164- %ignore Model::GetDimensionsWithSoftAndSpanCosts;
165- %ignore Model::GetDimensionsWithSoftOrSpanCosts;
166- %ignore Model::GetGlobalDimensionCumulOptimizers;
167- %ignore Model::GetHardTypeIncompatibilitiesOfType;
168- %ignore Model::GetLocalDimensionCumulMPOptimizers;
169- %ignore Model::GetLocalDimensionCumulOptimizers;
170- %ignore Model::GetMutableGlobalCumulOptimizer;
171- %ignore Model::GetMutableLocalCumulOptimizer;
172- %ignore Model::GetMutableLocalCumulMPOptimizer;
173- %ignore Model::GetPerfectBinaryDisjunctions;
174- %ignore Model::GetPickupIndexPairs;
175- %ignore Model::HasTypeRegulations;
176- %ignore Model::MakeStateDependentTransit;
177- %ignore Model::PackCumulsOfOptimizerDimensionsFromAssignment;
178- %ignore Model::RegisterStateDependentTransitCallback;
179- %ignore Model::RemainingTime;
180- %ignore Model::StateDependentTransitCallback;
181- %ignore Model::SolveWithParameters (
182- const RoutingSearchParameters& search_parameters,
183- std::vector<const Assignment*>* solutions);
184- %ignore Model::SolveFromAssignmentWithParameters (
185- const Assignment* assignment,
186- const RoutingSearchParameters& search_parameters,
187- std::vector<const Assignment*>* solutions);
188- %ignore Model::TransitCallback;
189- %ignore Model::UnaryTransitCallbackOrNull;
190-
191- %ignore operations_research::routing::Model::AddResourceGroup;
192- %ignore operations_research::routing::Model::GetResourceGroups;
219+ %unignore Model::AddPickupAndDelivery;
220+ %unignore Model::AddVariableMinimizedByFinalizer;
221+ %unignore Model::AddVectorDimension;
222+ %unignore Model::CostVar;
223+ %unignore Model::CumulVar;
224+ %unignore Model::End;
225+ %unignore Model::GetArcCostForVehicle;
226+ %unignore Model::GetDimensionOrDie;
227+ %unignore Model::GetMutableDimension;
228+ %unignore Model::IsEnd;
229+ %unignore Model::IsStart;
230+ %unignore Model::IsVehicleUsed;
231+ %unignore Model::NextVar;
232+ %unignore Model::ReadAssignmentFromRoutes;
233+ %unignore Model::RegisterTransitCallback;
234+ %unignore Model::RegisterTransitMatrix;
235+ %unignore Model::RegisterUnaryTransitCallback;
236+ %unignore Model::RegisterUnaryTransitVector;
237+ %unignore Model::SetArcCostEvaluatorOfAllVehicles;
238+ %unignore Model::SetArcCostEvaluatorOfVehicle;
239+ %unignore Model::SetPickupAndDeliveryPolicyOfAllVehicles;
240+ %unignore Model::Size;
241+ %unignore Model::SolveFromAssignmentWithParameters (const operations_research::Assignment*, const RoutingSearchParameters&);
242+ %unignore Model::SolveWithParameters (const RoutingSearchParameters&);
243+ %unignore Model::Start;
244+ %unignore Model::VehicleVar;
245+ %rename(" GetStatus" ) Model::status;
246+ // Model nested enum
247+ %unignore Model::PenaltyCostBehavior;
248+ %unignore Model::PENALIZE_ONCE;
249+ %unignore Model::PENALIZE_PER_INACTIVE;
250+ %unignore Model::PickupAndDeliveryPolicy;
251+ %unignore Model::PICKUP_AND_DELIVERY_FIFO;
252+ %unignore Model::PICKUP_AND_DELIVERY_LIFO;
253+ %unignore Model::PICKUP_AND_DELIVERY_NO_ORDER;
254+ %unignore Model::VisitTypePolicy;
255+ %unignore Model::TYPE_ADDED_TO_VEHICLE;
256+ %unignore Model::ADDED_TYPE_REMOVED_FROM_VEHICLE;
257+ %unignore Model::TYPE_ON_VEHICLE_UP_TO_VISIT;
258+ %unignore Model::TYPE_SIMULTANEOUSLY_ADDED_AND_REMOVED;
193259
194260// ModelVisitor
195261%unignore ModelVisitor;
196262%typemap(csimports) ModelVisitor %{
197263using Google.OrTools .ConstraintSolver ;
198264%}
199265
200- // SimpleBoundCosts
266+ // PathsMetadata
267+ %unignore PathsMetadata;
268+
269+ // BoundCosts
201270%unignore BoundCost;
271+ %unignore BoundCost::BoundCost;
272+ %unignore BoundCost::bound;
273+ %unignore BoundCost::cost;
274+
202275%unignore SimpleBoundCosts;
276+ %unignore SimpleBoundCosts::SimpleBoundCosts;
203277%rename(" GetBoundCost" ) SimpleBoundCosts::bound_cost;
204278%rename(" GetSize" ) SimpleBoundCosts::Size;
205279
@@ -211,61 +285,8 @@ using Google.OrTools.ConstraintSolver;
211285
212286// TypeRegulationsChecker
213287%unignore TypeRegulationsChecker;
214- %ignore TypeRegulationsChecker::CheckVehicle;
215-
216- } // namespace operations_research::routing
217-
218- %rename(" %(camelcase)s" , %$isfunction) " " ;
219-
220- // Add needed import to RoutingGlobalsPINVOKE.cs
221- %pragma(csharp) imclassimports=%{
222- // Types from ConstraintSolver
223- using Google.OrTools .ConstraintSolver ;
224- %}
225-
226- // Protobuf support
227- PROTO_INPUT (operations_research::routing::RoutingModelParameters,
228- Google.OrTools.Routing.RoutingModelParameters,
229- parameters)
230- PROTO_INPUT(operations_research::routing::RoutingSearchParameters,
231- Google.OrTools.Routing.RoutingSearchParameters,
232- search_parameters)
233- PROTO2_RETURN(operations_research::routing::IteratedLocalSearchParameters,
234- Google.OrTools.Routing.IteratedLocalSearchParameters)
235- PROTO2_RETURN(operations_research::routing::RoutingModelParameters,
236- Google.OrTools.Routing.RoutingModelParameters)
237- PROTO2_RETURN(operations_research::routing::RoutingSearchParameters,
238- Google.OrTools.Routing.RoutingSearchParameters)
239- PROTO_ENUM_RETURN(operations_research::routing::FirstSolutionStrategy::Value,
240- Google.OrTools.Routing.FirstSolutionStrategy.Types.Value)
241- PROTO_ENUM_RETURN(operations_research::routing::RoutingSearchStatus::Value,
242- Google.OrTools.Routing.RoutingSearchStatus.Types.Value)
243288
244- // Add needed import to RoutingGlobals.cs
245- %pragma(csharp) moduleimports=%{
246- // Types from ConstraintSolver
247- using Google.OrTools .ConstraintSolver ;
248- %}
249-
250- // Wrap parameters.h according to the SWIG style guide.
251- %ignoreall
252- %unignore operations_research::routing;
253- namespace operations_research ::routing {
254- // parameters.h
255- // IMPORTANT: These functions are global, so in .Net, they are in the
256- // RoutingGlobals.cs file.
257- %unignore DefaultRoutingSearchParameters;
258- %unignore DefaultRoutingModelParameters;
259- %unignore DefaultSecondaryRoutingSearchParameters;
260- %unignore DefaultIteratedLocalSearchParameters;
261- %unignore FindErrorInRoutingSearchParameters;
262- %unignore FindErrorsInRoutingSearchParameters;
263289} // namespace operations_research::routing
264290
265- %include " ortools/routing/parameters.h"
266- %unignoreall
267-
268- // Wrap routing includes
269- // TODO(user): Replace with %ignoreall/%unignoreall
270- // swiglint: disable include-h-allglobals
271291%include " ortools/routing/routing.h"
292+ %unignoreall
0 commit comments