6 using System.Runtime.InteropServices;
8 using System.Collections.Generic;
26 [StructLayout(LayoutKind.Sequential, Pack = 1)]
40 Place_OnFloorAndCeiling,
43 Place_UnderPlatformEdge,
59 ExternalVirtual = (1 << 3),
92 float marginLeft = 0.0f,
93 float marginRight = 0.0f)
233 [StructLayout(LayoutKind.Sequential, Pack = 1)]
243 Rule_AwayFromPosition,
245 Rule_AwayFromOtherObjects,
306 [StructLayout(LayoutKind.Sequential, Pack = 1)]
314 Constraint_NearPoint,
316 Constraint_AwayFromWalls,
317 Constraint_NearCenter,
318 Constraint_AwayFromOtherObjects,
319 Constraint_AwayFromPoint
428 [StructLayout(LayoutKind.Sequential, Pack = 1)]
433 return this.MemberwiseClone();
449 [DllImport(
"SpatialUnderstanding", CallingConvention = CallingConvention.Cdecl)]
450 public static extern int Solver_Init();
473 [DllImport(
"SpatialUnderstanding", CallingConvention = CallingConvention.Cdecl)]
474 public static extern int Solver_PlaceObject(
475 [In, MarshalAs(UnmanagedType.LPStr)]
string objectName,
476 [In] IntPtr placementDefinition,
477 [In]
int placementRuleCount,
478 [In] IntPtr placementRules,
479 [In]
int constraintCount,
480 [In] IntPtr placementConstraints,
481 [Out] IntPtr placementResult);
491 [DllImport(
"SpatialUnderstanding", CallingConvention = CallingConvention.Cdecl)]
492 public static extern int Solver_RemoveObject(
493 [In, MarshalAs(UnmanagedType.LPStr)]
string objectName);
501 [DllImport(
"SpatialUnderstanding", CallingConvention = CallingConvention.Cdecl)]
502 public static extern void Solver_RemoveAllObjects();