Example #1
0
        internal MxStdSlim(MxStdModel model)
        {
            heap = new MxHeap(64);
            this.model = model;
            PlacementPolicy = MxPlacement.Optimal;
            WeightingPolicy = MxWeighting.Area;
            BoundaryWeight = 1000.0;
            CompactnessRatio = 0.0;
            MeshingPenalty = 1.0;
            LocalValidityThreshold = 0.0;
            VertexDegreeLimit = 24;
            WillJoinOnly = false;

            ValidFaces = 0;
            ValidVerts = 0;
            IsInitialized = false;

            for (var faceId = 0; faceId < model.FaceCount; faceId++)
            {
                if (!model.FaceIsValid(faceId)) continue;
                ValidFaces++;
            }

            for (var vertId = 0; vertId < model.VertCount; vertId++)
            {
                if (!model.VertexIsValid(vertId)) continue;
                ValidVerts++;
            }
        }
Example #2
0
        internal MxStdSlim(MxStdModel model)
        {
            heap                   = new MxHeap(64);
            this.model             = model;
            PlacementPolicy        = MxPlacement.Optimal;
            WeightingPolicy        = MxWeighting.Area;
            BoundaryWeight         = 1000.0;
            CompactnessRatio       = 0.0;
            MeshingPenalty         = 1.0;
            LocalValidityThreshold = 0.0;
            VertexDegreeLimit      = 24;
            WillJoinOnly           = false;

            ValidFaces    = 0;
            ValidVerts    = 0;
            IsInitialized = false;

            for (var faceId = 0; faceId < model.FaceCount; faceId++)
            {
                if (!model.FaceIsValid(faceId))
                {
                    continue;
                }
                ValidFaces++;
            }

            for (var vertId = 0; vertId < model.VertCount; vertId++)
            {
                if (!model.VertexIsValid(vertId))
                {
                    continue;
                }
                ValidVerts++;
            }
        }
Example #3
0
 public QSlim(List<Vector3> vertices, List<int> indices, bool contractByFaces, bool joinOnly,
              MxPlacement placePolicy, MxWeighting weightPolicy, double boundaryWeight, double compactRatio,
              double meshPenalty)
 {
     inputVertices = vertices;
     inputIndices = indices;
     willUseFaces = contractByFaces;
     willJoinOnly = joinOnly;
     placementPolicy = placePolicy;
     weightingPolicy = weightPolicy;
     this.boundaryWeight = boundaryWeight;
     compactnessRatio = compactRatio;
     meshingPenalty = meshPenalty;
     Init();
 }
Example #4
0
 public QSlim(List <Vector3> vertices, List <int> indices, bool contractByFaces, bool joinOnly,
              MxPlacement placePolicy, MxWeighting weightPolicy, double boundaryWeight, double compactRatio,
              double meshPenalty)
 {
     inputVertices       = vertices;
     inputIndices        = indices;
     willUseFaces        = contractByFaces;
     willJoinOnly        = joinOnly;
     placementPolicy     = placePolicy;
     weightingPolicy     = weightPolicy;
     this.boundaryWeight = boundaryWeight;
     compactnessRatio    = compactRatio;
     meshingPenalty      = meshPenalty;
     Init();
 }