|
bool | operator&& (const Point2d p, const Interval2d &interv) |
| Returns true iff the given interval contains the given point.
|
|
bool | operator&& (const Point3d &p, const Interval3d &interv) |
| Returns true iff the given interval contains the given point.
|
|
bool | overlap (const Interval3d &i1, const Interval3d &i2) |
| Returns true iff the two given intervals overlap.
|
|
bool | point_inside (Interval3d const &i, Point3d const &p) |
| Returns true iff the given point lies inside the given interval.
|
|
WSM_EXPORT void | AppendToGroupInstancePathArray (WSM::GroupInstancePath const &path, std::vector< size_t > const &aInput, std::vector< WSM::GroupInstancePath > &aOutput) |
| Takes a WSM::GroupInstancePath and a vector of objects ID values in the same history, and populates the GroupInstancePath vector with that data.
|
|
WSM_EXPORT void | AppendToGroupInstancePathArray (size_t nHistoryID, std::vector< size_t > const &aInput, std::vector< WSM::GroupInstancePath > &aOutput) |
| Takes a history ID and a vector of objects ID values, and adds to the GroupInstancePath vector with that data.
|
|
WSM_EXPORT void | AppendToGroupInstancePathArray (size_t nHistoryID, std::vector< WSM::ObjectHistoryID > const &aInput, std::vector< WSM::GroupInstancePath > &aOutput) |
| Takes a history ID and a vector of objects ID values, and adds to the GroupInstancePath vector with that data.
|
|
WSM_EXPORT bool | PointIntersectsNegativeSideOfPlanes (const Point3d &pt, const std::vector< Plane > &aPlanes, double dTol=WSM_MACHINE_TOL) |
| Returns true if the point intersects the negative side of all the Planes.
|
|
WSM_EXPORT bool | SegmentIntersectsNegativeSideOfPlanes (const Point3d &pt1, const Point3d &pt2, const std::vector< Plane > &aPlanes, double dTol=WSM_MACHINE_TOL, bool bTestEndPts=true) |
| Returns true if the segment from pt1 to pt2 intersects on the negative side of all the Planes.
|
|
WSM_EXPORT bool | BoxIntersectsNegativeSideOfPlanes (const Interval3d &box, const std::vector< Plane > &aPlanes, double dTol=WSM_MACHINE_TOL) |
| Returns true if the box intersects the negative side of all the Planes.
|
|
WSM_EXPORT bool | BoxLiesOnNegativeSideOfPlanes (const Interval3d &box, const std::vector< Plane > &aPlanes, double dTol=WSM_MACHINE_TOL) |
| Returns true if the box lies totally on the negative side of all the Planes.
|
|
WSM::Point2d | intersect (const WSM::Point2d &p1, const WSM::Vector2d &v1, const WSM::Point2d &p2, const WSM::Vector2d &v2, bool &succeeded, double tolerance=WSM_DISTANCE_TOL) |
| intersection of two 2d lines (p1,v1) and (p2,v2)
|
|
bool | doIntersect (const WSM::Point2d &p1, const WSM::Point2d &p2, const WSM::Point2d &q1, const WSM::Point2d &q2, double tolerance=WSM_DISTANCE_TOL) |
| Retuns true if the two line segments (p1,p2) and (q1,q2) intersect or overlap, false otherwise.
|
|
WSM_EXPORT WSM::Point2d | projectPointOnLine (const WSM::Point2d &p, const WSM::Point2d &lpoint, const WSM::Vector2d &lvector) |
| Project point p on line (lpoint, lvector)
|
|
double | ComputeDeterminant (const WSM::Point3d &a, const WSM::Point3d &b, const WSM::Point3d &c) |
| ComputeDeterminant function.
|
|
WSM_EXPORT void | ComputeFaceXAndYVectors (const WSM::UnitVector3d &norm, WSM::Vector3d &faceX, WSM::Vector3d &faceY) |
| Compute the faceX and faceY vectors to generate texture coordinates based a plane normal.
|
|
constexpr bool | enable_bitmask_operators (nLoadingOptions) |
| enable_bitmask_operators function.
|
|
WSM_EXPORT Result | APIGetVersionReadOnly (size_t &nMajorVer, size_t &nMinorVer, size_t &nRevisionVer) |
| Returns the Major, Minor, and Revision software versions used to identify the released version of WSM.
|
|
WSM_EXPORT Result | APIGetDatabaseVersionReadOnly (size_t &nMajorVer, size_t &nMinorVer) |
| Returns the Major and Minor software versions which is used when saving and loading files and strings.
|
|
WSM_EXPORT Result | APICreateHistory (size_t &nHistoryID, bool bNonTemporary=true) |
| Create a History and return the History ID.
|
|
WSM_EXPORT Result | APIDeleteHistory (size_t nHistoryID) |
| Delete a History and all Objects in it.
|
|
WSM_EXPORT Result | APICanRedoHistoryReadOnly (size_t nHistoryID, bool &bCanRedo) |
| Sets bCanRedo to true if it is possible to redo one Delta.
|
|
WSM_EXPORT Result | APICanUndoHistoryReadOnly (size_t nHistoryID, bool &bCanUndo) |
| Sets bCanUndo to true if it is possible to undo one Delta.
|
|
WSM_EXPORT Result | APICanRedoHistoryToDeltaReadOnly (size_t nHistoryID, size_t nDeltaID, bool &bCanRedo) |
| Sets bCanRedo to true if it is possible to redo to nDeltaID .
|
|
WSM_EXPORT Result | APICanUndoHistoryToDeltaReadOnly (size_t nHistoryID, size_t nDeltaID, bool &bCanUndo) |
| Sets bCanUndo to true if it is possible to undo to nDeltaID .
|
|
WSM_EXPORT Result | APIUndoHistory (size_t nHistoryID, bool bAndDeleteRedo=false, size_t nApplyOnDeltaID=WSM::INVALID_ID) |
| Step backward one Delta.
|
|
WSM_EXPORT Result | APIUndoHistoryToDelta (size_t nHistoryID, size_t nDeltaID) |
| Step backward until the given Delta is reached.
|
|
WSM_EXPORT Result | APIRedoHistory (size_t nHistoryID, size_t nApplyOnDeltaID=WSM::INVALID_ID) |
| Step forward one Delta.
|
|
WSM_EXPORT Result | APIRedoHistoryToDelta (size_t nHistory, size_t nDeltaID) |
| Step forward until the given Delta is reached.
|
|
WSM_EXPORT Result | APIUndoOrRedoHistoryToDelta (size_t nHistoryID, size_t nDeltaID, bool bAndDeleteRedo=false) |
| Step backward or forward until the given Delta is reached, and optionally delete redo information when undoing.
|
|
WSM_EXPORT Result | APIDeleteAllRedoHistory (size_t nHistoryID, bool bReuseDiscardedObjectIDs=false) |
| Deletes all forward Deltas.
|
|
WSM_EXPORT Result | APIGetAllHistoryDeltasReadOnly (size_t nHistoryID, std::vector< size_t > &aDeltaIDs) |
| Get the IDs of all deltas in the given history.
|
|
WSM_EXPORT Result | APIGetHistoryDeltasReadOnly (size_t nHistoryID, size_t nStartDeltaID, size_t nEndDeltaID, std::vector< size_t > &aDeltaIDs) |
| Get the IDs of the deltas in the given closed range in the given history.
|
|
WSM_EXPORT Result | APIDeleteAllHistories () |
| Delete all Histories in WSM and reset next History Id to be 0. This cannot be undone.
|
|
WSM_EXPORT Result | APIGetAllHistoriesReadOnly (std::vector< size_t > &aIDs, bool bWantTemporary=false) |
| Gets a sorted vector of the IDs of all active histories, optionally excluding temporary.
|
|
WSM_EXPORT Result | APIGetAllReachableHistoriesReadOnly (size_t nHistoryID, bool bGoUp, std::vector< size_t > &aHistoryIDs) |
| Gets all the Histories reachable from the given History going either up or down the chain of Histories based on the flag bGoUp.
|
|
WSM_EXPORT Result | APIGetHistoryReferencingGroupsReadOnly (size_t nHistoryID, std::vector< WSM::ObjectHistoryID > &aObjectIDs) |
| Returns a vector with groups that reference this history.
|
|
WSM_EXPORT Result | APIGetIdOfActiveDeltaReadOnly (size_t nHistoryID, size_t &nActiveDeltaID, int nDeltaOffset=0) |
| Get the active Delta ID.
|
|
WSM_EXPORT Result | APIGetLastDeltaIDReadOnly (size_t nHistoryID, size_t &nLastDeltaID, size_t nBeforeLast=0) |
| Get the ID of the target Delta, which is nBeforeLast before the last Delta (even for zero nBeforeLast , it may be different from the active Delta ID, if there are available Redo states).
|
|
WSM_EXPORT Result | APIMergeDeltas (size_t nHistoryID, size_t nStartDeltaID=WSM::INVALID_ID, size_t nEndDeltaID=WSM::INVALID_ID, bool bReuseDiscardedObjectIDs=true) |
| Merges consecutive Deltas with the specified starting and ending IDs.
|
|
WSM_EXPORT Result | APICreateEmptyBody (size_t nHistoryID, size_t &nCreatedObjectID) |
| Creates an empty Body.
|
|
WSM_EXPORT Result | APICreatePolyline (size_t nHistoryID, const std::vector< WSM::Point3d > &aPoints, size_t &nCreatedFaceID, bool bForceClosed=true) |
| Creates a polyline using 3D sketching not linking with existing topology.
|
|
WSM_EXPORT Result | APICreateExtrusion (size_t nHistoryID, const std::vector< WSM::Point3d > &aPoints, double dist, size_t &nCreatedObjectID) |
| Create an extrusion on the given History.
|
|
WSM_EXPORT Result | APICreateCylinder (size_t nHistoryID, const WSM::Point3d &aPosCenter, double aRadius, double aHeight, size_t &nCreatedObjectID, double aAccuracyORcount=10, const WSM::UnitVector3d &aAxis=WSM::UnitVector3d::kZDir) |
| Create a cylinder on the given History.
|
|
WSM_EXPORT Result | APICopyObject (const size_t nFromHistoryID, size_t nToHistoryID, const size_t nFromObjectID, size_t &nCreatedObjectID) |
| Create a copy of the Object in the given History.
|
|
WSM_EXPORT Result | APITransformObject (size_t nHistoryID, size_t nObjectID, const WSM::Transf3d &t) |
| Transforms the given Object.
|
|
WSM_EXPORT Result | APITransformObjects (size_t nHistoryID, const std::vector< size_t > &aObjectIDs, const WSM::Transf3d &t) |
| Transforms the given Objects.
|
|
WSM_EXPORT Result | APICopyOrSketchAndTransformObjects (const size_t nFromHistoryID, const size_t nToHistoryID, const std::vector< size_t > &aFromObjectIDs, std::vector< size_t > &aCopiedObjectIDs, const WSM::Transf3d &transform=WSM::Transf3d::kIdentity, const size_t nNumCopies=1, bool bGroupBodies=false, const WSM::Transf3d *pGroupTransf3d=nullptr) |
| Copies the given objects as an array of incremental transforms.
|
|
WSM_EXPORT Result | APIDeleteObject (size_t nHistoryID, size_t nObjectID) |
| Deletes the given Object including all its children.
|
|
WSM_EXPORT Result | APIDeleteObjects (size_t nHistoryID, const std::vector< size_t > &aObjectIDs) |
| Deletes a vector of Objects including all their children.
|
|
WSM_EXPORT Result | APIMoveVertices (size_t nHistoryID, const std::vector< size_t > &aVertexIDs, const std::vector< WSM::Point3d > &aNewVertexPositions) |
| Move the given vertices to the new locations.
|
|
WSM_EXPORT Result | APIMoveObject (size_t nHistoryID, const size_t objectID, const WSM::Vector3d &displacement) |
| Move the vertices of the given object with the given displacement if it is owned; otherwise, transform the given object with the given displacement.
|
|
WSM_EXPORT Result | APIMoveObjects (size_t nHistoryID, const std::vector< size_t > &objectIDs, const WSM::Transf3d &t) |
| Move the vertices of each object with the given transformation if it is owned;otherwise, transform the given object.
|
|
WSM_EXPORT Result | APIAddFaceComponentToBody (size_t nHistoryID, size_t nFaceID, size_t nBodyID) |
| Adds a Face and all connected Faces to a Body.
|
|
WSM_EXPORT Result | APIDragFace (size_t nHistoryID, size_t nFaceID, double dDist, bool bMerge=false) |
| Drags a Face in the direction of its normal by the given distance.
|
|
WSM_EXPORT Result | APIDragFaces (size_t nHistoryID, const std::vector< std::vector< size_t > > &aaFaceIDs, const std::vector< double > &aDists, const std::vector< WSM::UnitVector3d > *aDirs=nullptr, bool bMerge=false) |
| Drag multiple Faces, in the same manner as APIDragFace().
|
|
WSM_EXPORT Result | APIScaleFace (size_t nHistoryID, size_t nFaceID, double dScaleFactor) |
| Scales a Face by given scale factor, around its centroid.
|
|
WSM_EXPORT Result | APIOffsetFace (size_t nHistoryID, size_t nFaceID, double dOffsetDistance, bool bOffsetHolesToo=false, const WSM::Transf3d &trans=WSM::Transf3d::kIdentity, std::vector< std::vector< WSM::Point3d > > *paOffsetPoint3Ds=nullptr) |
| Offsets a Face by given distance.
|
|
WSM_EXPORT Result | APIOffsetEdges (size_t nHistoryID, const std::vector< size_t > &nEdgeIDs, double dOffsetDistance, const WSM::Transf3d &trans=WSM::Transf3d::kIdentity, std::vector< std::vector< WSM::Point3d > > *paOffsetPoint3Ds=nullptr) |
| Offsets given Edges by given distance.
|
|
WSM_EXPORT Result | APIRotateFace (size_t nHistoryID, size_t nFaceID, double dRadians) |
| Rotates a Face by a given angle.
|
|
WSM_EXPORT Result | APIRotateFaceBetweenPoints (size_t nHistoryID, size_t nFaceID, const WSM::Point3d &startPt, const WSM::Point3d &endPt) |
| Rotates a Face between two given points.
|
|
WSM_EXPORT Result | APITaperFace (size_t nHistoryID, size_t nFaceID, double dRadians, const WSM::Line3d &axis) |
| Taper a Face by angle of rotation around the given axis.
|
|
WSM_EXPORT Result | APIGetFaceCentroidPoint3dReadOnly (size_t nHistoryID, size_t nFaceID, WSM::Point3d ¢roidPt) |
| Get a Face centroid point.
|
|
WSM_EXPORT Result | APIGetFaceConnectedComponentReadOnly (size_t nHistoryID, size_t nFaceID, bool bUseVertices, bool bSmooth, std::vector< size_t > &aConnectedFaces, bool bUseMaterial=false) |
| Using the given Face ID, finds all Faces connected across Edges or Vertices, as controlled by bUseVertices and bSmooth .
|
|
WSM_EXPORT Result | APIGetConvexityConnectedComponentReadOnly (size_t nHistoryID, size_t nFaceID, size_t nConvexity, std::vector< size_t > &aConnectedFaces) |
| Using the given FaceID, finds all Faces connected across Edges, as controlled by nConvexity .
|
|
WSM_EXPORT Result | APIGetConvexityReadOnly (size_t nHistoryID, size_t nEdgeOrLoopID, WSM::nConvexity &eConvextity) |
| Get a Loop or Edge convexity.
|
|
WSM_EXPORT Result | APIGetFaceVariantReadOnly (size_t nHistoryID, size_t nFaceID, double &dVariant) |
| Get a Face variant.
|
|
WSM_EXPORT Result | APIMergeBody (size_t nHistoryID, size_t nBodyID, double dSmoothCosAngle=WSM_TIGHT_SMOOTH_COSINE_ANGLE) |
| Merges all the merge-able Edges and Vertices out of a Body.
|
|
WSM_EXPORT Result | APIGetFacePlaneReadOnly (const size_t nHistoryID, const size_t nFaceID, WSM::Plane &plane) |
| Get the Face Plane.
|
|
WSM_EXPORT Result | APIGetFaceVertexNormalsReadOnly (const size_t nHistoryID, const size_t nFaceID, std::vector< std::pair< size_t, WSM::UnitVector3d > > &aVertexNormals) |
| Get normals for each Vertex of the given Face, averaging face normals across smooth edges.
|
|
WSM_EXPORT Result | APICreateBlock (const size_t nHistoryID, const WSM::Point3d &pos1, const WSM::Point3d &pos2, size_t &nCreatedObjectID) |
| Create a block with the given corners.
|
|
WSM_EXPORT Result | APICreateHemisphere (const size_t nHistoryID, const double radius, const WSM::Point3d &posCenter, size_t &nCreatedObjectID, const double accuracyORcount=10.0) |
| Create a half sphere (above Z=0) with given parameters.
|
|
WSM_EXPORT Result | APICreateCone (const size_t nHistoryID, const double radius, const double height, const WSM::Point3d &posCenter, size_t &nCreatedObjectID, const double accuracyORcount=10.0) |
| Create a cone (above Z=0) with given parameters.
|
|
WSM_EXPORT Result | APICreateCircleOrArc (const size_t nHistoryID, const double radius, const WSM::Point3d &posCenter, std::vector< WSM::Point3d > &aPoints, const WSM::UnitVector3d &xAxis=WSM::UnitVector3d::kXDir, const WSM::UnitVector3d &yAxis=WSM::UnitVector3d::kYDir, double dStartParam=0.0, double dEndParam=WSM_2PI, const double accuracyORcount=10.0, bool bReadOnly=false, const WSM::Transf3d &trans=WSM::Transf3d::kIdentity, size_t nMinimumNumberOfFacets=0) |
| Create a vector of Point3ds of a circle or arc defined by C(t) = posCenter + radius * (xAxis * cos(t) + yAxis * sin(t)), where t goes from dStartParam to dEndParam .
|
|
WSM_EXPORT Result | APICreateCircleOrArcFromPoints (const size_t nHistoryID, const WSM::Point3d &arcStartPos, const WSM::Point3d &arcEndPos, const WSM::Point3d &thirdPoint, std::vector< WSM::Point3d > &aPoints, const double accuracyORcount=10.0, bool bReadOnly=false, const WSM::Transf3d &trans=WSM::Transf3d::kIdentity, size_t nMinimumNumberOfFacets=0, bool bCircle=false) |
| Create a vector of Point3ds of a circular arc, defined with a arcStartPos , arcEndPos , and a thirdPoint .
|
|
WSM_EXPORT Result | APICreateRectangle (const size_t nHistoryID, const WSM::Point3d &firstEdgePt1, const WSM::Point3d &firstEdgePt2, const WSM::Point3d &projectionPt, std::vector< WSM::Point3d > &aCreatedPts, bool bReadOnly=false) |
| Create a rectangle based on one edge and a third point.
|
|
WSM_EXPORT Result | APICreateHermiteSpline (const size_t nHistoryID, const std::vector< WSM::Point3d > &aControlPoints, std::vector< WSM::Point3d > &aOutPoints, bool bClosed=false, const WSM::Vector3d &startTangent=WSM::Vector3d::kNull, const WSM::Vector3d &endTangent=WSM::Vector3d::kNull, bool bReadOnly=false, std::vector< double > *aOutPointsParams=nullptr) |
| Tessellate a cubic spline that touches all aControlPoints .
|
|
WSM_EXPORT Result | APICreateClampedHermiteSplineDataReadOnly (const size_t nHistoryID, const std::vector< WSM::Point3d > &aControlPoints, const WSM::Vector3d &startTangent, const WSM::Vector3d &endTangent, bool bClosed, const std::vector< size_t > &aVertexIDsOnSpline, size_t nNumberOfNewContolPoints, std::vector< WSM::Point3d > &aNewControlPoints, WSM::Vector3d &startTangentNew, WSM::Vector3d &endTangentNew, bool &bClosedNew, std::map< double, size_t > &mVertextParameterMap) |
| Create a clamped cubic spline from the data of a spline and the original vertex points on the spline.
|
|
WSM_EXPORT Result | APIGetBoxReadOnly (const size_t nHistoryID, const size_t nObjectID, WSM::Interval3d &Box, const WSM::Transf3d &transform=WSM::Transf3d::kIdentity) |
| Returns the bounding box of a Object.
|
|
WSM_EXPORT Result | APIGetBodyFacesReadOnly (const size_t nHistoryID, const size_t nBodyID, std::vector< size_t > &aFaceIDs) |
| Returns the Faces of a Body.
|
|
WSM_EXPORT Result | APIFaceContainsPointReadOnly (const size_t nHistoryID, const size_t nFaceID, const Point3d &point, bool &bContainsPoint) |
| Does the given Face contain the given Point3d?
|
|
WSM_EXPORT Result | APIGetObjectsByTypeReadOnly (const size_t nHistoryID, const size_t nObjectID, const WSM::nObjectType nType, std::vector< size_t > &aIDs, bool bUpstream=false) |
| If the given bUpstream argument is false, returns all the objects of type nType contained by the given pbject; otherwise, returns all the objects of type nType which are the parents of given object.
|
|
WSM_EXPORT Result | APIGetAllObjectsByTypeReadOnly (const size_t nHistoryID, const WSM::nObjectType nType, std::vector< size_t > &aIDs) |
| Returns all live objects of type nType in the given history.
|
|
WSM_EXPORT Result | APIGetBodyEdgesReadOnly (const size_t nHistoryID, const size_t nBodyID, std::vector< size_t > &aEdgeIDs) |
| Returns the Edges of a Body.
|
|
WSM_EXPORT Result | APIGetFaceFacetsReadOnly (const size_t nHistoryID, const size_t nFaceID, std::vector< size_t > &aFacets) |
| Returns the Facets of a Face.
|
|
WSM_EXPORT Result | APIGetVertexPoint3dReadOnly (const size_t nHistoryID, const size_t nVertexID, WSM::Point3d &Pt) |
| Returns the Point3d of a Vertex.
|
|
WSM_EXPORT Result | APICheckValidityReadOnly (const size_t nHistoryID, const size_t nObjectID, std::vector< Result > &aErrors) |
| Finds all errors on the Object.
|
|
WSM_EXPORT Result | APICheckHistoryValidityReadOnly (const size_t nHistoryID, std::vector< Result > &aErrors) |
| Finds all errors in the History (including on every live Object in the History).
|
|
WSM_EXPORT Result | APIIsNonOwnedReadOnly (const size_t nHistoryID, const size_t nObjectID, bool &bIsNonOwned) |
| Returns whether this object has an owner.
|
|
WSM_EXPORT Result | APIGetAllNonOwnedReadOnly (const size_t nHistoryID, std::vector< size_t > &aNonOwned) |
| Returns all non owned Objects in the given History.
|
|
WSM_EXPORT Result | APIGetAllConnectedNonOwnedReadOnly (const size_t nHistoryID, const size_t nObjectID, std::vector< size_t > &aNonOwned) |
| Returns all non owned Objects in the given History that are connected to the given Object.
|
|
WSM_EXPORT Result | APIGetConnectedEdgesReadOnly (const size_t nHistoryID, const size_t nEdgeID, std::vector< size_t > &aConnectedEdges, bool bBreakOnNonSmooth) |
| Returns all connected edges of a seed edge.
|
|
WSM_EXPORT Result | APIGetObjectTypeReadOnly (const size_t nHistoryID, const size_t nObjectID, nObjectType &nType) |
| Returns Object's type in the given History.
|
|
WSM_EXPORT Result | APIGetEdgeOrVertexMarkedSmoothReadOnly (const size_t nHistoryID, const size_t nObjectID, bool &bIsSmooth) |
| Returns whether an edge or vertex is marked as smooth.
|
|
WSM_EXPORT Result | APISetEdgesOrVerticesMarkedSmooth (const size_t nHistoryID, const std::vector< size_t > &aObjectIDs, bool bSmooth) |
| Marks the smoothness of all Objects specified in aObjectIDs .
|
|
WSM_EXPORT Result | APIIsEdgeSilhouetteReadOnly (const size_t nHistoryID, const size_t nEdgeID, const WSM::Point3d &cameraPos, const WSM::Vector3d &cameraDir, bool bPerspectiveView, bool &bIsSilhouette) |
| Returns whether or not an Edge is a silhouette Edge based on the camera position, the camera direction, the view type being perspective or orthogonal.
|
|
WSM_EXPORT Result | APIDetectSilhouettesReadOnly (const size_t nHistoryID, const std::vector< size_t > &aEdgeIDs, const WSM::Point3d &cameraPos, const WSM::Vector3d &cameraDir, bool bPerspectiveView, bool bSmoothOnly, std::vector< size_t > &aSilIDs) |
| Takes a list of edge ids and a camera, and returns the ids which contribute to the silhouette.
|
|
WSM_EXPORT Result | APIDetectFreeEdgesReadOnly (const size_t nHistoryID, const std::vector< size_t > &aEdgeIDs, std::vector< size_t > &aFreeEdgeIDs, std::vector< size_t > &aNonFreeEdgeIDs) |
| Takes a list of edges, and returns a list of edges which have 1 or 0 connected faces and a list of the non free edges.
|
|
WSM_EXPORT Result | APIGetEdgeFaceClassificationReadOnly (const size_t nHistoryID, const std::vector< size_t > &aEdgeIDs, std::vector< int > &aFaceClassification) |
| Takes a list of edges, and returns an array of int that describes the edge face classification for each edge.
|
|
WSM_EXPORT Result | APIIsEdgeManifoldReadOnly (const size_t nHistoryID, const size_t nEdgeID, bool &bIsManifold) |
| Returns whether an edge has exactly two coedges on two distinct faces.
|
|
WSM_EXPORT Result | APIGetMemorySizeReadOnly (const size_t nHistoryID, size_t &nBytes, bool bCollapsedHistoryWithLiveObjsOnly=false) |
| Returns the size (in bytes) of either the current History with all Object versions or collapsed history with only live Objects.
|
|
WSM_EXPORT Result | APISaveHistoryToBinaryFileReadOnly (const size_t nHistoryID, const char *sFilePath, const std::vector< WSM::ObjectHistoryID > &aLayerDisplayedNegateVec={}) |
| Save the whole history (with all undo states) to a binary file.
|
|
WSM_EXPORT Result | APISaveHistoryToBinaryStringReadOnly (const size_t nHistoryID, std::string &sData, size_t &lastDeltaID, bool bBase64Encode, const std::vector< WSM::ObjectHistoryID > &aLayerDisplayedNegateVec={}) |
| Save the whole history (with all undo states) to a binary string.
|
|
WSM_EXPORT Result | APILoadHistoryFromBinaryString (const size_t nHistoryID, const std::string &base64Str, bool base64encoded=true) |
| Load the whole history (with all undo states) from an, optionally base64 encoded, string and add to to an empty History.
|
|
WSM_EXPORT Result | APISaveToFileReadOnly (const size_t nHistoryID, const std::vector< size_t > &aObjectIDs, const std::string &sFilePath, const WSM::nFileType eFileType=WSM::nFileTypeBinaryWSM, const bool bWithChildren=true, const double dExportScale=1.0, const std::vector< WSM::ObjectHistoryID > &aExcludedObjects={}, const std::vector< WSM::ObjectHistoryID > &aLayerDisplayedNegateVec={}) |
| Save Objects to a file of the specified type.
|
|
WSM_EXPORT Result | APISaveToAXMFileReadOnly (const size_t nHistoryID, const std::vector< size_t > &aObjectIDs, const std::string &sFilePath, std::vector< char > const &aPreviewImage={}, bool bWithChildren=true) |
| Saves Objects to an AXM file.
|
|
WSM_EXPORT Result | APISaveToStringReadOnly (const size_t nHistoryID, const std::vector< size_t > &aObjectIDs, std::string &sOutputString, const WSM::nFileType eFileType=WSM::nFileTypeBinaryWSM, const bool bWithChildren=true, const std::vector< WSM::ObjectHistoryID > &aExcludedObjects={}, bool bBase64Encode=false, const std::vector< WSM::ObjectHistoryID > &aLayerDisplayedNegateVec={}) |
| Save Objects to a string.
|
|
WSM_EXPORT Result | APISaveAllActiveObjectsToBinaryFileReadOnly (const size_t nHistoryID, const char *sFilePath) |
| Save all active Objects to a binary file.
|
|
WSM_EXPORT Result | APISaveDeltaToBinaryStringReadOnly (const size_t nHistoryID, std::string &base64Str, size_t &deltaID, bool base64encode=true) |
| Serialize the given (or last, if deltaID is WSM::INVALID_ID) Delta and all its changed Objects to a binary stream, optionally Base64 encoding the serialized data, and save it to a string.
|
|
WSM_EXPORT Result | APILoadDeltaFromBinaryString (const size_t nHistoryID, const std::string &serializedDeltaStr, size_t &nDeltaID, size_t &nTrailingDeltaIDShift, size_t &nFirstDiscardedDeltaID, bool base64encoded=true) |
| Load Delta from the given Base64 encoded string and add it to the given History.
|
|
WSM_EXPORT Result | APIDecodeBase64StringReadOnly (const std::string &base64Str, size_t &previousDeltaID, std::string &decodedStr) |
| Decode the given base64 encoded string.
|
|
WSM_EXPORT Result | APISaveLastDeltaToBinaryFileReadOnly (const size_t nHistoryID, const char *sFilePath) |
| Save last Delta and all changed Objects to a binary file.
|
|
WSM_EXPORT Result | APILoadDeltaFromBinaryFile (const size_t nHistoryID, const char *sFilePath) |
| Load Delta from a binary file and add it to the History.
|
|
WSM_EXPORT Result | APILoadFromFile (const size_t nHistoryID, const std::string &sFilePath, const WSM::nFileType eFileType=WSM::nFileTypeBinaryWSM, ptrdiff_t *pObjectIdOffset=nullptr, const size_t nOptions=to_ut(WSM::nLoadingOptions::RemoveDuplicate|WSM::nLoadingOptions::Merge|WSM::nLoadingOptions::CreateMesh), double dMaxDistanceFromOrigin=0.0, double dScaleFactor=1.0) |
| Load a model from a file of one of the supported types.
|
|
WSM_EXPORT Result | APILoadFromFacets (const size_t nHistoryID, const std::vector< FacetsBodyData > &facetsData, std::vector< size_t > &createdObjectIDs, const size_t nOptions=to_ut(WSM::nLoadingOptions::RemoveDuplicate|WSM::nLoadingOptions::Merge|WSM::nLoadingOptions::CreateMesh), double dMaxDistanceFromOrigin=0.0, double dRemoveDuplicateTol=WSM_MACHINE_TOL) |
| Load a model from specified list of body facets.
|
|
WSM_EXPORT Result | APILoadFromString (const size_t nHistoryID, const std::string &sInputString, const WSM::nFileType eFileType=WSM::nFileTypeBinaryWSM, ptrdiff_t *pObjectIdOffset=nullptr, const size_t nOptions=to_ut(WSM::nLoadingOptions::RemoveDuplicate|WSM::nLoadingOptions::Merge|WSM::nLoadingOptions::CreateMesh), double dMaxDistanceFromOrigin=0.0, bool bBase64Encoded=false, double dScaleFactor=1.0) |
| Load a model from a string containing serialization of one of the supported types.
|
|
WSM_EXPORT Result | APILoadAXMFile (const size_t nHistoryID, const std::string &sFilePath, const std::vector< std::vector< char > > *defaultTextures=nullptr, bool isImport=false, const std::string &logOutputPath={}) |
| Load an AXM file, both pre WSM and current.
|
|
WSM_EXPORT Result | APILoadMaterialsFromAXMFile (const size_t nHistoryID, const std::string &sFilePath) |
| Load only materials and their textures from an AXM file into the given history.
|
|
WSM_EXPORT Result | APIRayFireReadOnly (const size_t nHistoryID, const WSM::Line3d &ray, std::vector< size_t > &aObjectIDs, double dRayRadius=WSM_MACHINE_TOL, bool bVertices=true, bool bEdges=true, bool bFaces=true, double dMaxParam=WSM_DISTANCE_BIG, std::vector< GroupInstancePath > *pObjectsInGroupsVec=nullptr, std::vector< WSM::Transf3d > *pGroupAggregateTransf3dVec=nullptr, std::vector< std::pair< double, ptrdiff_t > > *pParamIndexVec=nullptr, WSM::IRayFireFilterAndAbort *filterAndAbort=nullptr) |
| Finds all live Objects of the types specified that intersect the ray with the given ray radius.
|
|
WSM_EXPORT Result | APIIntersectsNegativeSideOfPlanesReadOnly (const size_t nHistoryID, const std::vector< WSM::Plane > &aPlanes, std::vector< size_t > &aObjectIDs, bool bVertices=true, bool bEdges=true, bool bFaces=true, bool bStrict=false, double dTol=WSM_MACHINE_TOL, const WSM::Line3d *pLine=nullptr, std::vector< GroupInstancePath > *pObjectsInGroupsVec=nullptr, std::vector< WSM::Transf3d > *pGroupAggregateTransf3dVec=nullptr, std::vector< std::pair< double, ptrdiff_t > > *pParamIndexVec=nullptr, bool bInstances=false, WSM::IRayFireFilterAndAbort *filterAndAbort=nullptr) |
| Get all live Objects of the types specified that intersect the negative side of all the given Planes.
|
|
WSM_EXPORT Result | APIConnectPoint3ds (size_t nHistoryID, const WSM::Point3d &pt1, const WSM::Point3d &pt2) |
| Connect two Point3ds for use in 3D sketching creating Edges as appropriate, splitting Faces and Edges, creating new Faces as planar areas are enclosed, etc.
|
|
WSM_EXPORT Result | APIConnectVertexAndPoint3d (size_t nHistoryID, size_t nVertexID, const WSM::Point3d &pt) |
| Connect a Vertex and a Point3d for use in 3D sketching creating Edges as appropriate, splitting Faces and Edges, creating new Faces as planar areas are enclosed, etc.
|
|
WSM_EXPORT Result | APIConnectVertices (size_t nHistoryID, size_t nVertexID1, size_t nVertexID2) |
| Connect two Vertices for use in 3D sketching creating Edges as appropriate, splitting Faces and Edges, creating new Faces as planar areas are enclosed, etc.
|
|
WSM_EXPORT Result | APIImprint (size_t nHistoryID, size_t nObject1, size_t nObject2, bool bChangeBoth=true) |
| Imprints the Objects onto each other.
|
|
WSM_EXPORT Result | APIImprintWithPlane (size_t nHistoryID, size_t nObject, const Plane &pla) |
| Imprints the Plane onto the Object.
|
|
WSM_EXPORT Result | APISlice (size_t nHistoryID, size_t nDestinationHistoryID, size_t nObject, const Plane &pla, std::vector< size_t > &aNewNonOwnedIDs, IsObjectHiddenFunctionType isHiddenFunc=nullptr) |
| Slices the Object with the Plane creating new Faces and Edges that are NOT connected to the Object.
|
|
WSM_EXPORT Result | APISliceHistoryReadOnly (size_t nHistoryID, const Plane &pla, std::vector< std::pair< WSM::Point3d, bool > > &aPointsToConnect, IsObjectHiddenFunctionType isHiddenFunc=nullptr, size_t nObjectID=WSM::INVALID_ID) |
| Slices the history with the Plane creating line points.
|
|
WSM_EXPORT Result | APIUnite (size_t nHistoryID, size_t nObject1, size_t nObject2, const std::vector< size_t > &aExtraObjetsIDs=std::vector< size_t >()) |
| Unites the Objects, deleting nObject2 and extra objects.
|
|
WSM_EXPORT Result | APISubtract (size_t nHistoryID, size_t nObject1, size_t nObject2, const std::vector< size_t > &aExtraObjetsIDs=std::vector< size_t >()) |
| Subtracts nObject2 and extra objects from nObject1, deleting nObject2 and extra objects.
|
|
WSM_EXPORT Result | APIIntersect (size_t nHistoryID, size_t nObject1, size_t nObject2, const std::vector< size_t > &aExtraObjetsIDs=std::vector< size_t >()) |
| Intersects the Objects, deleting nObject2 and extra objects.
|
|
WSM_EXPORT Result | APIUniteNonDestructive (const GroupInstancePath &blank, const std::vector< GroupInstancePath > &tools) |
| Unites the tools with the blank changing the blank while keeping the tools unaffected.
|
|
WSM_EXPORT Result | APISubtractNonDestructive (const GroupInstancePath &blank, const std::vector< GroupInstancePath > &tools) |
| Subtracts the tools from the blank changing the blank while keeping the tools unaffected.
|
|
WSM_EXPORT Result | APIIntersectNonDestructive (const GroupInstancePath &blank, const std::vector< GroupInstancePath > &tools) |
| Intersects the tools with the blank changing the blank while keeping the tools unaffected.
|
|
WSM_EXPORT Result | APISeparate (size_t nHistoryID, size_t nBodyID, std::vector< size_t > &aNewBodyIDs) |
| If the Body has more than one Lump, makes new Bodies for each Lump after the first one.
|
|
WSM_EXPORT Result | APIGetObjectNameReadOnly (size_t nHistoryID, size_t nObject, const char *&pName) |
| Returns the name of the Object.
|
|
WSM_EXPORT Result | APIComputeAreaReadOnly (size_t nHistoryID, size_t nObject, double &dArea, const WSM::Transf3d *pTransf3d=nullptr) |
| Computes the surface area of the Object.
|
|
WSM_EXPORT Result | APIComputeVolumeReadOnly (size_t nHistoryID, size_t nObject, double &dVolume, const WSM::Transf3d *pTransf3d=nullptr) |
| Computes the volume of the Object.
|
|
WSM_EXPORT Result | APIReverseFaces (size_t nHistoryID, const std::vector< size_t > &aFaceIDs) |
| Reverse all the Faces given by aFaceIDs .
|
|
WSM_EXPORT Result | APIRegisterLockGuardFactory (const std::function< AbstractLockGuard * > &fn) |
| Note this is for internal use only and is not exposed to javascript.
|
|
WSM_EXPORT Result | APIRegisterModelChangedCallbackReadOnly (FunctionType const &fCallback) |
| Register a callback that will be called on the completion of each Delta or Undo/Redo operation within any non-temporary History, or upon the creation of a non-temporary history, or the deletion of any history.
|
|
WSM_EXPORT Result | APIRegisterProgressCallbacksReadOnly (WSM::ApiProgress::StartCbkFn startCbk=WSM::ApiProgress::StartCbkFn{}, WSM::ApiProgress::ProgressCbkFn progressCbk=WSM::ApiProgress::ProgressCbkFn{}, WSM::ApiProgress::FinishedCbkFn finishCbk=WSM::ApiProgress::FinishedCbkFn{}, float incrP=1.0f, float startP=0.0f, float endP=100.0f) |
| Register progress callback.
|
|
WSM_EXPORT Result | APIGetTopLevelOwnersReadOnly (size_t nHistoryID, const size_t nObjectID, std::vector< size_t > &aOwnerIDs) |
| Returns the top level owners of the given Object.
|
|
WSM_EXPORT Result | APIGetCreatedChangedAndDeletedInActiveDeltaReadOnly (size_t nHistoryID, std::vector< size_t > *paCreated, std::vector< size_t > *paChanged, std::vector< size_t > *paDeleted, WSM::nObjectType nType, bool bForUndo=false) |
| Gets the changed, created, and deleted objects in the most recent delta.
|
|
WSM_EXPORT Result | APIGetCreatedChangedAndDeletedInDeltaRangeReadOnly (size_t nHistoryID, size_t previousDeltaID, size_t currentDeltaID, std::vector< size_t > *paCreated, std::vector< size_t > *paChanged, std::vector< size_t > *paDeleted, std::vector< WSM::nObjectType > const &aTypes) |
| Gets the changed, created, and deleted objects between the previous and current Delta in the range of Deltas provided.
|
|
WSM_EXPORT Result | APIGetCoedgeDirectionReadOnly (size_t nHistoryID, const size_t nObjectID, bool &bForward) |
| Return true if cedge and its underlying edge go in the same direction; otherwise, return false.
|
|
WSM_EXPORT Result | APIEnableJournaling (size_t nHistoryID, const std::string &sJournalFileName={}) |
| Enable Journaling.
|
|
WSM_EXPORT Result | APIIsJournalingReadOnly (bool &isJournaling) |
| Check if Journaling is enabled.
|
|
WSM_EXPORT Result | APIEnableJournalingTypes (const std::vector< std::string > &types, bool add=false) |
| First turns off all journaling types if add is false, and then turns on all types in the given list of types .
|
|
WSM_EXPORT Result | APIGetEnabledJournalingTypesReadOnly (std::set< std::string > &types) |
| Returns the list of journaling types that are enabled.
|
|
WSM_EXPORT Result | APIDisableJournaling (std::string *journalOutput=nullptr) |
| Disable Journaling.
|
|
WSM_EXPORT Result | APISetObjectsMaterial (size_t nHistoryID, const std::vector< size_t > &aObjectIDs, size_t nMaterialID) |
| Sets the material given by MaterialID on the given Objects.
|
|
WSM_EXPORT Result | APISetFaceBacksideMaterial (size_t nHistoryID, const std::vector< size_t > &aFaceIDs, size_t nMaterialID) |
| Sets the material given by MaterialID as the backside material of the given faces.
|
|
WSM_EXPORT Result | APIGetObjectMaterialReadOnly (size_t nHistoryID, size_t nObjectID, size_t &nMaterialID) |
| Gets the material of the object.
|
|
WSM_EXPORT Result | APIGetFaceBacksideMaterialReadOnly (size_t nHistoryID, size_t nFaceID, size_t &nMaterialID) |
| Gets the backside material of the given face.
|
|
WSM_EXPORT Result | APIGetObjectTextureCoordinatesReadOnly (size_t nHistoryID, size_t nObjectID, std::vector< WSM::Point2d > &aTexCoords) |
| Generates texture coordinates for the given ObjectHistoryID nObjectID is a face or body, other object types will return bad input error For the case of body: Generates the texture coordinates for the facets of all faces in the body This is slightly more efficient than calling per-face APIGetTextureCoordinatesReadOnly for each face of the body.
|
|
WSM_EXPORT Result | APICreateMaterial (size_t nHistoryID, const Color &nColor, double dHorizontalScale, double dVerticalScale, size_t nTextureID, size_t &nMaterialID, std::string const &sMaterialName={}, std::string const &sMaterialIdentifier={}, std::vector< std::pair< std::string, std::string > > const *pAdditionalRenderData=nullptr, std::vector< std::pair< std::string, size_t > > const *pAdditionalTextures=nullptr) |
| Creates a Material.
|
|
WSM_EXPORT Result | APICreateMaterialWithTexture (size_t nHistoryID, const Color &nColor, double dHorizontalScale, double dVerticalScale, std::vector< char > const &aBitmapData, bool bUseBitmapAlpha, size_t &nMaterialID, std::string const &sMaterialName={}, std::string const &sMaterialIdentifier={}, std::vector< std::pair< std::string, std::string > > const *pAdditionalRenderData=nullptr, std::vector< std::pair< std::string, size_t > > const *pAdditionalTextures=nullptr, std::string const &sTextureName={}) |
| Creates a Material with a texture.
|
|
WSM_EXPORT Result | APISetMaterialColor (size_t nHistoryID, size_t nMaterialID, const Color &nColor) |
| Sets a Material's color.
|
|
WSM_EXPORT Result | APISetMaterialTexture (size_t nHistoryID, size_t nMaterialID, double dHorizontalScale, double dVerticalScale, size_t nTextureID) |
| Sets a MaterialObject's texture data.
|
|
WSM_EXPORT Result | APISetMaterialData (size_t nHistoryID, size_t nMaterialID, const Color &nColor, double dHorizontalScale, double dVerticalScale, size_t nTextureID, std::string const *pMaterialName=nullptr, std::string const *pMaterialIdentifier=nullptr, std::vector< std::pair< std::string, std::string > > const *pAdditionalRenderData=nullptr, std::vector< std::pair< std::string, size_t > > const *pAdditionalTextures=nullptr) |
| Sets all the data of a Material.
|
|
WSM_EXPORT Result | APIGetMaterialDataReadOnly (const size_t nHistoryID, const size_t nMaterialID, Color &nColor, double &dHorizontalScale, double &dVerticalScale, size_t &nTextureID, std::string *pMaterialName=nullptr, std::string *pMaterialIdentifier=nullptr, std::vector< std::pair< std::string, std::string > > *pAdditionalRenderData=nullptr, std::vector< std::pair< std::string, size_t > > *pAdditionalTextures=nullptr, std::vector< size_t > *aObjectsUsingMaterial=nullptr) |
| Gets the material data of a Material.
|
|
WSM_EXPORT Result | APIIsMaterialUsedReadOnly (const size_t nHistoryID, const size_t nMaterialID, bool &bIsUsed) |
| Returns true if the material is used by any objects.
|
|
WSM_EXPORT Result | APICreateTexture (size_t nHistoryID, std::vector< char > const &aBitmapData, bool bUseBitmapAlpha, size_t &nCreatedTextureID, std::string const &sTextureName={}) |
| Creates a Texture object.
|
|
WSM_EXPORT Result | APIGetTextureDataReadOnly (size_t nHistoryID, size_t nTextureID, std::vector< char > &aBitmapData, bool &bUseBitmapAlpha, std::string *pTextureName=nullptr) |
| Returns the data of a texture.
|
|
WSM_EXPORT Result | APISetTextureData (size_t nHistoryID, size_t nTextureID, std::vector< char > const &aBitmapData, bool bUseBitmapAlpha, std::string const *pTextureName=nullptr) |
| Set the data of a Texture object.
|
|
WSM_EXPORT Result | APIGetObjectAttributesReadOnly (size_t nHistoryID, size_t nObjectID, std::vector< size_t > &aAttributeIDs) |
| Get all of the Attributes of the given Object.
|
|
WSM_EXPORT Result | APIGetObjectLayersReadOnly (size_t nHistoryID, size_t nObjectID, std::vector< size_t > &aLayerIDs) |
| Get all the layers of the given Object.
|
|
WSM_EXPORT Result | APIIsEdgeOnCircleReadOnly (size_t nHistoryID, size_t nEdgeID, double &radius, WSM::Point3d ¢er, WSM::UnitVector3d &normal, WSM::UnitVector3d &xaxis, std::vector< size_t > &aAllCircleSiblings, bool &bIsOnCircle) |
| Gets the circle data of the given Edge when the Edge lies on a circle.
|
|
WSM_EXPORT Result | APIEditCircleEdges (size_t nHistoryID, std::vector< size_t > nEdgeIDs, double radius, const WSM::Point3d ¢er, const WSM::UnitVector3d &normal, const WSM::UnitVector3d &xaxis, double angle=0.0) |
| Edits the circle data of the Edges with nEdgeIDs when the Edges lies on a circle.
|
|
WSM_EXPORT Result | APIIsEdgeOnSplineReadOnly (size_t nHistoryID, size_t nEdgeID, std::vector< WSM::Point3d > &aControlPoints, bool &bClosed, WSM::Vector3d &startTangent, WSM::Vector3d &endTangent, std::vector< size_t > &aAllSplineSiblings, bool &bIsOnSpline) |
| Gets the spline data of the given Edge when the Edge lies on a spline.
|
|
WSM_EXPORT Result | APIEditSplineEdges (size_t nHistoryID, std::vector< size_t > nEdgeIDs, const std::vector< WSM::Point3d > &aControlPoints, bool bClosed, const WSM::Vector3d &startTangent, const WSM::Vector3d &endTangent) |
| Edit the spline data of the Edge with nEdgeIDs when the Edge lies on a spline.
|
|
WSM_EXPORT Result | APIIsFaceOnCylinderReadOnly (size_t nHistoryID, size_t nFaceID, double &radius, WSM::Point3d ¢er, WSM::UnitVector3d &normal, WSM::UnitVector3d &xaxis, std::vector< size_t > &aAllCylinderSiblings, bool &bIsOnCylinder) |
| Gets the Cylinder data of the given Face when the Face lies on a cylinder.
|
|
WSM_EXPORT Result | APIEditCylinderFaces (size_t nHistoryID, std::vector< size_t > nFaceIDs, double radius, const WSM::Point3d ¢er, const WSM::UnitVector3d &normal, const WSM::UnitVector3d &xaxis) |
| Edits the Cylinder data of the given Faces when the Faces lies on a cylinder.
|
|
WSM_EXPORT Result | APIIsFaceOnSphereReadOnly (size_t nHistoryID, size_t nFaceID, double &radius, WSM::Point3d ¢er, WSM::UnitVector3d &normal, WSM::UnitVector3d &xaxis, std::vector< size_t > &aAllSphereSiblings, bool &bIsOnSphere) |
| Gets the Sphere data of the given Face when the Face lies on a sphere.
|
|
WSM_EXPORT Result | APIEditSphereFaces (size_t nHistoryID, std::vector< size_t > nFaceIDs, double radius, const WSM::Point3d ¢er, const WSM::UnitVector3d &normal, const WSM::UnitVector3d &xaxis) |
| Edits the Sphere data of the given Faces when the Faces lies on a sphere.
|
|
WSM_EXPORT Result | APIIsFaceOnExtrudeReadOnly (size_t nHistoryID, size_t nFaceID, WSM::Point3d &base, WSM::Vector3d &axis, WSM::UnitVector3d &xaxis, std::vector< WSM::Point3d > &aControlPoints, bool &bClosed, WSM::Vector3d &startTangent, WSM::Vector3d &endTangent, std::vector< size_t > &aAllExtrudeSiblings, bool &bIsOnExtrude) |
| Gets the Extrude data of the given Face when the Face lies on a Extrude.
|
|
WSM_EXPORT Result | APIIsFaceOnBlendReadOnly (size_t nHistoryID, size_t nFaceID, double &radius, std::vector< WSM::Point3d > &aPathPoints, std::vector< size_t > &aAllBlendSiblings, bool &bIsOnBlend) |
| Gets the blend data of the given Face when the Face lies on a blend.
|
|
WSM_EXPORT Result | APISetObjectProperties (const size_t nHistoryID, const size_t nObjectID, const std::string &sObjectName, bool bReportAreaByLevel, const std::vector< size_t > *pDefaultLevelIDs=nullptr) |
| Sets the properties of a given object (Body): A name and if that particular body reports its area by level or not, and the optional default levelIDs associated with the object.
|
|
WSM_EXPORT Result | APIGetObjectPropertiesReadOnly (const size_t nHistoryID, const size_t nObjectID, std::string &sObjectName, bool &bReportAreaByLevel) |
| Gets the properties of a given object (Body): A name and if that particular body reports its area by level or not.
|
|
WSM_EXPORT Result | APICreateLevelObjects (const size_t nHistoryID, const std::vector< std::pair< std::string, double > > &aLevelsData, std::vector< size_t > &aLevelIDs, bool bRelativeElevations=false) |
| Creates Level objects with the data provided by aLevelsData.
|
|
WSM_EXPORT Result | APISetLevelsData (const size_t nHistoryID, const std::vector< size_t > &aLevelIDs, const std::vector< std::pair< std::string, double > > &aLevelsData, bool bRelativeElevations=false) |
| Sets the data in the Levels to the name, elevation pairs in aLevelData.
|
|
WSM_EXPORT Result | APISetObjectsLevels (const size_t nHistoryID, const std::vector< size_t > &aObjectIDs, const std::vector< size_t > &aLevelsIDs) |
| Set the levels associated with a list of objects (bodies) Empty list "clear levels from object".
|
|
WSM_EXPORT Result | APIGetLevelDataReadOnly (const size_t nHistoryID, const size_t nLevelID, std::string &sLevelName, double &dElevation, bool bGlobalElevation=true) |
| Gets the Level´s data.
|
|
WSM_EXPORT Result | APIGetObjectLevelsReadOnly (const size_t nHistoryID, const size_t nObjectID, std::vector< size_t > &aLevelsIDs) |
| Get the levels associated with an object (body)
|
|
WSM_EXPORT Result | APIGetObjectsLinkedByRelativeLevelsReadOnly (const size_t nHistoryID, const size_t nObjectID, std::vector< size_t > &aLinkedObjects) |
| Get objects linked to the given object through relative levels.
|
|
WSM_EXPORT Result | APISetLocalCoordinateSystem (const size_t nHistoryID, const Transf3d &LCS) |
| Set the LCS (local coordinate system) of the given History.
|
|
WSM_EXPORT Result | APIGetLocalCoordinateSystemReadOnly (const size_t nHistoryID, Transf3d &LCS) |
| Get the LCS (local coordinate system) of the given History.
|
|
WSM_EXPORT Result | APIIsObjectLiveReadOnly (size_t nHistoryID, size_t nObjectID, bool &bIsLive) |
| Find out if nObjectID is live or dead in nHistoryID.
|
|
WSM_EXPORT Result | APIIsHistoryLiveReadOnly (size_t nHistoryID, bool &bIsLive) |
| Find out if nHistoryID is live or dead.
|
|
WSM_EXPORT Result | APIIsEdgeMergeableReadOnly (size_t nHistoryID, size_t nEdgeID, bool &bIsMergeable, bool bUseMaterial=false) |
| Find out if an Edge is mergeable.
|
|
WSM_EXPORT Result | APICreateImageObject (const size_t nHistoryID, const std::string &sName, const size_t nTextureID, const float fAlphaValue, const bool bFeaturesVisible, const std::array< WSM::Point3d, 4 > &aCorners, size_t &nObjectID) |
| Creates an image object.
|
|
WSM_EXPORT Result | APICreateImageObjectWithTexture (const size_t nHistoryID, const std::string &sName, const float fAlphaValue, const bool bFeaturesVisible, const std::array< WSM::Point3d, 4 > &aCorners, std::vector< char > const &aBitmapData, size_t &nObjectID, std::string const &sTextureName={}) |
| Creates an image object with texture.The image is connected to an internal texture object.
|
|
WSM_EXPORT Result | APICreateSatelliteImageObject (const size_t nHistoryID, const std::string &sName, const size_t nTextureID, const float fAlphaValue, const bool bFeaturesVisible, const std::array< WSM::Point3d, 4 > &aCorners, const WSM::Vector2d &coordinates, const WSM::Vector2d &coordinatesSpan, const std::array< size_t, 2 > &aPixelDimensions, size_t &nObjectID) |
| Creates a satellite image object.
|
|
WSM_EXPORT Result | APIMoveImage (const size_t nHistoryID, const size_t nImageID, const int nShift) |
| This call alters the spatial order of images along the z (vertical) axis.
|
|
WSM_EXPORT Result | APISetImageData (const size_t nHistoryID, const size_t nImageID, const std::string &sName, const size_t nTextureID, const float fAlphaValue, const bool bFeaturesVisible, const std::array< WSM::Point3d, 4 > &aCorners) |
| Sets the image object data.
|
|
WSM_EXPORT Result | APISetSatelliteData (const size_t nHistoryID, const size_t nImageID, const WSM::Vector2d &coordinates, const WSM::Vector2d &coordinatesSpan, const std::array< size_t, 2 > &aPixelDimensions) |
| Sets satellite data to an image object.
|
|
WSM_EXPORT Result | APIRemoveSatelliteData (const size_t nHistoryID, const size_t nImageID) |
| Removes the satellite data associated with a given image.
|
|
WSM_EXPORT Result | APIGetImageDataReadOnly (const size_t nHistoryID, const size_t nImageID, std::string &sName, size_t &nTextureID, size_t &nPosition, float &fAlphaValue, bool &bFeaturesVisible, std::array< WSM::Point3d, 4 > &aCorners, bool &bHasSatelliteData) |
| Gets the image data.
|
|
WSM_EXPORT Result | APIGetSatelliteDataReadOnly (const size_t nHistoryID, const size_t nImageID, WSM::Vector2d &coordinates, WSM::Vector2d &coordinatesSpan, std::array< size_t, 2 > &aPixelDimensions) |
| Gets the satellite data associated with a given image.
|
|
WSM_EXPORT Result | APICreateGroup (size_t nHistoryID, const std::vector< size_t > &aObjectIDs, size_t &nCreatedGroupID, const std::vector< WSM::Transf3d > *pInstanceTransforms=nullptr, size_t nReferencedHistory=WSM::INVALID_ID, WSM::Transf3d const *pGeometryTransform=nullptr) |
| Creates a Group with the given aObjectIDs, which are removed from nHistoryID.
|
|
WSM_EXPORT Result | APICreateGroupFromGroup (size_t nFromHistoryID, size_t nToHistoryID, size_t nFromGroupID, size_t nReferencedHistoryID, size_t &nCreatedGroupID) |
| Creates a Group from a given Group where the Instances all match and the reference History is potentially new.
|
|
WSM_EXPORT Result | APIGetGroupReferencedHistoryReadOnly (size_t nHistoryID, size_t nGroupOrInstanceID, size_t &nReferencedHistoryID, bool bDeletedInstanceOK=false, int nDeltaOffset=0) |
| Returns the ID of the Group's or Instance's referenced History.
|
|
WSM_EXPORT Result | APIGetInstanceTransf3dReadOnly (size_t nHistoryID, size_t nInstanceID, WSM::Transf3d &rTransf3d) |
| Returns the Instance's Transf3d.
|
|
WSM_EXPORT Result | APIGetAllAggregateTransf3dsReadOnly (size_t nReferencedHistoryID, size_t nTopMostHistoryID, std::vector< WSM::Transf3d > &aGroupAggregateTransf3dVec, std::vector< GroupInstancePath > &aTransformPaths) |
| Computes all the global Transf3ds on the given History referenced by a Group stopping at nTopMostHistoryID.
|
|
WSM_EXPORT Result | APIFlattenGroupsOrInstances (size_t nHistoryID, std::vector< size_t > const &aGroupOrInstanceIDs, bool bRecursive, bool bImprint) |
| Replace the instances and/or groups referenced in aGroupOrInstanceIDs by a copy of the contents of the referenced history.
|
|
WSM_EXPORT Result | APIAddInstancesToGroup (size_t nHistoryID, size_t nGroupID, std::vector< Transf3d > const &aTransforms, std::vector< size_t > &aNewInstanceIDs) |
| Creates new instances in the specified group and returns their IDs.
|
|
WSM_EXPORT Result | APICreateSeparateHistoriesForInstances (size_t nHistoryID, std::vector< size_t > const &aInstanceIDs, bool bNewGroupPerInstance, std::vector< size_t > &aNewGroupIDs) |
| Creates new copies of the existing groups and the referenced histories for the specified instances.
|
|
WSM_EXPORT Result | APISetDeltaFlags (size_t nHistoryID, size_t nDeltaID, size_t nDeltaFlags) |
| Set flags of Delta with ID of nDeltaID in History nHistoryID.
|
|
WSM_EXPORT Result | APISetAllDeltaFlags (size_t nHistoryID, size_t nOnFlags, size_t nOffFlags=0, bool bRecursively=true) |
| Set flags of all Deltas in History nHistoryID and, optionally, recursively in all Deltas in referenced histories.
|
|
WSM_EXPORT Result | APIGetDeltaFlagsReadOnly (size_t nHistoryID, size_t nDeltaID, size_t &nDeltaFlags) |
| Get flags of Delta with ID of nDeltaID in History nHistoryID.
|
|
WSM_EXPORT Result | APISweep (size_t nHistoryID, const std::vector< WSM::GroupInstancePath > &aProfile, const std::vector< WSM::GroupInstancePath > &aPath, bool bRemoveUnusedProfileAndPath=false) |
| Creates surface by sweeping the profile along the path.
|
|
WSM_EXPORT Result | APIGetPointsFromObjectIDsReadOnly (size_t nHistoryID, const std::vector< size_t > &aIDs, std::vector< size_t > &aVertices, WSM::Point3d *pCOG=nullptr, WSM::Plane *pPlane=nullptr) |
| Helper function used in sweeping to get points from the profile or path Objects.
|
|
WSM_EXPORT Result | APIOffset3d (size_t nHistoryID, size_t nObjectID, double dOffsetDistance) |
| Offsets all the Faces in the given Object by the amount specified.
|
|
WSM_EXPORT Result | APITweak (size_t nHistoryID, const std::vector< size_t > &aFaceIDs, const std::vector< WSM::Plane > &aPlanes) |
| Tweak replaces the plane of the ith face in aFaces with the ith plane in aPlanes.
|
|
WSM_EXPORT Result | APIShell (size_t nHistoryID, size_t nBodyID, double dOffsetDistance, const std::vector< size_t > *paOpenFaceIDs=nullptr) |
| Shells a Body by the specified offset.
|
|
WSM_EXPORT Result | APIBlend (size_t nHistoryID, double dRadius, const std::vector< size_t > &aPathIDs, const double accuracyORcount=6.0, size_t nMinimumNumberOfFacets=0) |
| Creates a blend surface using the Edges given by aPathIDs.
|
|
WSM_EXPORT Result | APICover (size_t nHistoryID, const std::vector< size_t > &aEdgeIDs, bool bMerge=false) |
| Makes Faces that cover a closed circuit of Edges.
|
|
WSM_EXPORT Result | APILoft (size_t nHistoryID, const std::vector< std::vector< size_t > > &aaProfileIDs, bool bDeleteInteriorProfileFaces=false) |
| Makes Faces that connect a vector of profiles.
|
|
WSM_EXPORT Result | APIExtrudeEdges (size_t nHistoryID, const std::vector< size_t > &aEdgeIDs, const WSM::Transf3d &t) |
| Makes a Face from the given set of continuous edges and a transformed copy of the edges.
|
|
WSM_EXPORT Result | APIGetEdgePointsReadOnly (size_t nHistoryID, size_t nEdgeID, WSM::Point3d &start, WSM::Point3d &end) |
| Get edge endpoints directly.
|
|
WSM_EXPORT Result | APIGetRenderableFaceReadOnly (const size_t nHistoryID, const size_t nFaceID, bool bCalculateTexCoords, std::vector< WSM::Point3d > &vertices, std::vector< WSM::UnitVector3d > &normals, std::vector< WSM::Point2d > &texCoords, bool bBackSide=false) |
| Returns vertices in groups of 3 (triangles), with associated normals and optionally texture coordinates.
|
|
WSM_EXPORT Result | APISetFaceUVDataAttributes (const size_t nHistoryID, const std::vector< size_t > &aFaceIDs, const WSM::Transf3d &rTransf3d=WSM::Transf3d::kIdentity, bool bReplaceTransform=false, const WSM::Point3d *tformCenter=nullptr, const WSM::Point2d *tformUVCenter=nullptr, const WSM::Transf3d *pLocalToWorldTranf3d=nullptr) |
| Sets FaceUVDataAttributes on the faces passed in and applies a transform to them.
|
|
WSM_EXPORT Result | APIGetFaceUVDataTransformReadOnly (const size_t nHistoryID, const size_t nFaceID, WSM::Transf3d &rTransf3d, WSM::Transf3d *planeTransf3d=nullptr, bool bBackSide=false, const WSM::Transf3d *pLocalToWorldTranf3d=nullptr) |
| Gets the 2d transform, returned as a 3d transform, for the uvs on the given Face.
|
|
WSM_EXPORT Result | APIGetFaceUVDataAttributeUVsReadOnly (const size_t nHistoryID, const size_t nFaceUVDataAttributeID, std::vector< Point2d > &aFrontUVs, std::vector< Point2d > &aBackUVs, std::vector< size_t > *pVertexIDs=nullptr) |
| Gets the UVs from a FaceUVDataAttribute.
|
|
WSM_EXPORT Result | APICompareHistoryReadOnly (size_t nHistoryID, size_t nActiveDeltaIdx, const std::vector< size_t > &aDeltaIDs, nHistoryComparison &nComparisonResult) |
| Compare nHistoryID with parameters of collaboration server's History, which contains only "accepted" Deltas.
|
|
WSM_EXPORT Result | APIIsHistoryNonTemporaryReadOnly (size_t nHistoryID, bool &bIsNonTemporary) |
| Returns whether a history is temporary or not.
|
|
WSM_EXPORT Result | APIChangeHistoryID (size_t &nHistoryIDtoChange) |
| Change ID of a History, nHistoryIDtoChange, and reset it everywhere the old ID was referenced: in Objects belonging to the History being modified as well as in Groups referencing it.
|
|
WSM_EXPORT Result | APICreateLayer (size_t nHistoryID, std::string const &name, bool bDisplayed, size_t &nLayerID) |
| Create a layer object with a given name and display flag.
|
|
WSM_EXPORT Result | APIGetLayerDataReadOnly (size_t nHistoryID, size_t nLayerID, std::string &name, bool &bDisplayed, std::vector< size_t > *aObjectsUsingLayer=nullptr) |
| Get the data from a layer.
|
|
WSM_EXPORT Result | APISetLayerData (size_t nHistoryID, size_t nLayerID, std::string const &name, bool bDisplayed) |
| Set the data of a layer.
|
|
WSM_EXPORT Result | APISetLayersDisplayed (size_t nHistoryID, std::vector< size_t > const &aLayerIDs, bool bDisplayed) |
| Set the display flag of layers without affecting the other data.
|
|
WSM_EXPORT Result | APIAddObjectsLayers (size_t nHistoryID, std::vector< size_t > const &aLayerIDs, std::vector< size_t > const &aObjectIDs) |
| Add layers to objects.
|
|
WSM_EXPORT Result | APIRemoveObjectsLayers (size_t nHistoryID, std::vector< size_t > const &aLayerIDs, std::vector< size_t > const &aObjectIDs) |
| Remove layers from objects.
|
|
WSM_EXPORT Result | APIAddRemoveObjectsLayers (size_t nHistoryID, std::vector< size_t > const &aLayerAddIDs, std::vector< size_t > const &aLayerRemoveIDs, std::vector< size_t > const &aObjectIDs) |
| Add layers to and remove layers from objects in a single operation.
|
|
WSM_EXPORT Result | APICreateGeometryFromData (size_t nHistoryID, std::vector< TextureData > const &aTextures, std::vector< MaterialData > const &aMaterials, std::vector< LayerData > const &aLayers, std::vector< InstanceData > const &aInstances, std::vector< std::vector< FaceData > > const &aFaceCollections, std::vector< EdgeData > const &aEdges, std::vector< CurveData > const &aCurves, std::vector< ImageData > const &aImages, const std::string &aGroupName={}, bool bCreateMesh=false) |
| APICreateGeometryFromData function.
|
|
WSM_EXPORT Result | APICreateEdgesFromData (size_t nHistoryID, size_t &nCreatedGroupID, std::vector< LayerData > const &aLayers, std::vector< EdgeData > const &aEdges, std::vector< CurveData > const &aCurves, bool bCreateMesh=true, const double accuracyORcount=10.0) |
| Load a set of edges from vectors of various data in a single delta.
|
|
WSM_EXPORT Result | APIGetRevitFamilyInformationReadOnly (size_t nHistoryID, bool &bIsGeneratedFromRFA, bool &bIsGeneratedFromBuiltinRFA, std::string &familyCategory, std::string &familyReference, std::string &familyType, std::string &familyExtraData) |
| Get Revit Family information of the specific history.
|
|
WSM_EXPORT Result | APISetRevitFamilyInformation (size_t nHistoryID, bool bIsGeneratedFromRFA, bool bIsGeneratedFromBuiltinRFA, const std::string &familyCategory, const std::string &familyReference, const std::string &familyType, const std::string &familyExtraData) |
| Set Revit Family information for the specific history.
|
|
WSM_EXPORT Result | APIGetEdgeStyleReadOnly (size_t nHistoryID, size_t nObjectID, Color &nColor) |
| Get the style of an edge.
|
|
WSM_EXPORT Result | APISetEdgesStyle (size_t nHistoryID, std::vector< size_t > const &aObjectIDs, const Color &nColor) |
| Set the style of edges on given objects.
|
|
WSM_EXPORT Result | APIDebugObjectReadOnly (size_t nHistoryID, size_t nObjectID, std::string &output) |
| Given an object ID, dump debugging information to 'output'.
|
|
WSM_EXPORT Result | APIIsExactMatchReadOnly (size_t nHistoryID1, size_t nHistoryID2, bool &bIsExact, size_t nObjectID1=WSM::INVALID_ID, size_t nObjectID2=WSM::INVALID_ID) |
| API compares either two Histories or two Objects and sets bIsExact to true when they match exactly.
|
|
WSM_EXPORT Result | APIGetDynamoModelInformationReadOnly (size_t nHistoryID, std::string &id, std::string *name=nullptr, std::string *config=nullptr, std::string *delta=nullptr) |
| Get Dynamo Model information of the specific history.
|
|
WSM_EXPORT Result | APISetDynamoModelInformation (size_t nHistoryID, const std::string *id=nullptr, const std::string *name=nullptr, const std::string *config=nullptr, const std::string *delta=nullptr) |
| Set Dynamo Model information for the specific history.
|
|
WSM_EXPORT Result | APICreateStringAttribute (size_t nHistoryID, const std::string &sKey, const std::string &sValue, const std::vector< size_t > &aObjIDs, size_t &nStringAttributeID, WSM::nCopyBehavior nCB=WSM::nCopyBehavior::nShareOrCopy, bool bIsSharedOnSplit=true) |
| Create a StringAttribute optionally attaching it to the given Objects.
|
|
WSM_EXPORT Result | APIGetStringAttributeKeyValueReadOnly (size_t nHistoryID, size_t nStringAttributeID, std::string &sKey, std::string &sValue, std::vector< size_t > &aOwnerIDs) |
| Gets the key and value strings from a StringAttribute.
|
|
WSM_EXPORT Result | APISetStringAttributeValue (size_t nHistoryID, size_t nStringAttributeID, const std::string &sValue) |
| Sets the value string of a StringAttribute.
|
|
WSM_EXPORT Result | APIGetStringAttributesByKeyReadOnly (const size_t nHistoryID, const size_t nObjectID, const std::string &sKey, std::vector< size_t > &aStringAttributeIDs) |
| Returns all StringAttributes attached to the Object given by nObjectID with key matching sKey.
|
|
WSM_EXPORT Result | APICleanModel (size_t nHistoryID, double dEdgeTol=0.0, std::vector< size_t > *paChangedHistories=nullptr) |
| Changes the model fixing errors and getting rid of undesired features.
|
|
WSM_EXPORT Result | APISplitAtNonManifoldEdgesAndVertices (size_t nHistoryID, std::vector< size_t > *paChangedHistories=nullptr) |
| Changes the model so that every edge on more than two faces and every vertex with more than one edge group is modified so that these conditions no longer occur.
|
|
WSM_EXPORT Result | APICreateMesh (size_t nHistoryID, size_t &nMeshID, const std::vector< float > &aPoints, const std::vector< uint32_t > &aTriangles, const std::vector< float > &aNormals={}, const std::vector< float > &aUVs={}, const std::vector< WSM::Color > &aColors={}, const WSM::Transf3d *pTransf3d=nullptr, WSM::nGeneratedNormalsOptions nGNO=WSM::nNoGeneratedNormals, bool bComputeEdges=true) |
| Creates a Mesh in the History given by nHistoryID.
|
|
WSM_EXPORT Result | APIGetMeshDataReadOnly (size_t nHistoryID, size_t nMeshID, std::vector< float > &aPoints, std::vector< uint32_t > &aTriangles, std::vector< float > *pNormals=nullptr, std::vector< float > *pUVs=nullptr, std::vector< WSM::Color > *pColors=nullptr) |
| Returns all the data from a Mesh.
|
|
WSM_EXPORT Result | APIComputeSharedMeshDataReadOnly (size_t nHistoryID, size_t nMeshID, std::vector< float > &aPoints, std::vector< uint32_t > &aTriangles, std::vector< float > &aNormals, std::vector< uint32_t > *paUVTriangles=nullptr, std::vector< float > *paUVs=nullptr, std::vector< uint32_t > *paEdges=nullptr, double dCosSmoothAngle=0.86602540378443864676372317075294) |
| Returns the point, normal, and triangle data from a Mesh shared so that indices with equal points and normals are reused.
|
|
WSM_EXPORT Result | APIComputeTopographySurfaceDataReadOnly (const std::vector< float > &aInPoints, const std::vector< uint32_t > &aInTriangles, std::vector< float > &aInUVs, std::vector< float > &aPoints, std::vector< uint32_t > &aTriangles, std::vector< float > &aUVs) |
| Computes the point and triangle data so that indices with equal points are reused.
|
|
WSM_EXPORT Result | APIIsMeshManifoldReadOnly (const size_t nHistoryID, const size_t nMeshID, bool &bIsManifold) |
| Returns true when the mesh is the boundary of a solid.
|
|
WSM_EXPORT Result | APIIsObjectManifoldReadOnly (const size_t nHistoryID, const size_t nObjectID, bool &bIsManifold) |
| Returns true when the object is the boundary of a solid.
|
|
WSM_EXPORT Result | APIMeshContainsPointReadOnly (const size_t nHistoryID, const size_t nMeshID, const Point3d &point, bool &bContainsPoint, WSM::UnitVector3d &normal, std::vector< WSM::Point3d > *pTrianglePts=nullptr) |
| Does the given Mesh contain the given Point3d? If so, return true and the normal at the point.
|
|
WSM_EXPORT Result | APIMeshPointOnOrInsideIfManifoldReadOnly (const size_t nHistoryID, const size_t nMeshID, const Point3d &point, bool &bPointOnOrInside) |
| Return true if the given point is on the Mesh.
|
|
WSM_EXPORT Result | APIMeshComputeSilhouetteEdgesReadOnly (const size_t nHistoryID, const size_t nMeshID, const WSM::Point3d &cameraPos, const WSM::Vector3d &cameraDir, bool bPerspectiveView, std::vector< uint32_t > &aSilhouettes) |
| Returns silhouette edges from the Mesh.
|
|
WSM_EXPORT Result | APIMeshComputeNonSmoothEdgesReadOnly (const size_t nHistoryID, const size_t nMeshID, std::vector< uint32_t > &aEdges, double dCosSmoothAngle=0.86602540378443864676372317075294) |
| Returns edges from the Mesh.
|
|
WSM_EXPORT Result | APIAreMeshEdgesComputedReadOnly (const size_t nHistoryID, const size_t nMeshID, bool &bAreEdgesComputed) |
| Returns true when the mesh edges are computed.
|
|
WSM_EXPORT Result | APISetMeshEdgesComputed (const size_t nHistoryID, const size_t nMeshID, bool bAreEdgesComputed) |
| Sets whether or not mesh edges are computed.
|
|
WSM_EXPORT Result | APIConvertMeshesToObjects (size_t nHistoryID, const std::vector< size_t > &aMeshIDs, std::vector< size_t > &aCreatedObjectIDs, double dCosSmoothAngle=-1.0, bool bFlatten=false) |
| Converts Meshes into Bodies with triangular Faces.
|
|
WSM_EXPORT Result | APILinkMeshesForConversion (size_t nHistoryID, const std::vector< size_t > &aMeshIDs) |
| Link the Meshes with a shared string Attribute.
|
|
WSM_EXPORT Result | APIConvertObjectsToMeshes (size_t nHistoryID, const std::vector< size_t > &aObjectIDs, std::vector< size_t > &aCreatedMeshIDs) |
| Converts non-Mesh Objects into Meshes with one Mesh per Material used.
|
|
WSM_EXPORT Result | APICreateVertex (const size_t nHistoryID, const WSM::Point3d &pos, size_t &nCreatedObjectID) |
| Create a Vertex with the given position.
|
|
WSM_EXPORT Result | APIFlattenFaces (size_t nHistoryID, const std::vector< size_t > &aFaceIDs, double dTol=WSM_DISTANCE_TOL) |
| Flattens all Faces given by aFaceIDs onto the plane of the first Face when all Faces lie within dTol of the first Face's plane, then merges into a single Face.
|
|
WSM_EXPORT Result | APISaveDeltaToSolidDefReadOnly (size_t nHistoryID, std::vector< std::string > &aChangedDeletedTop, std::vector< std::string > &aChangedDeletedGeom, std::string &jsonStr, bool bForUndo=false) |
| Gets the changed, created, and deleted objects in the most recent delta and encodes this information in a solid-def JSON string so that solid-def stored in HFDM can be kept up to date.
|
|
WSM_EXPORT Result | APIAddSolidDefGuids (size_t nHistoryID, const std::vector< size_t > &aObjectIDs) |
| Adds solid-def guids in StringAttributes to the given Objects.
|
|
WSM_EXPORT Result | APICreateLineMesh (size_t nHistoryID, size_t &nLineMeshID, const std::vector< float > &aPoints, const std::vector< uint32_t > &aIndices, const std::vector< uint32_t > &aCounts, const WSM::Transf3d *pTransf3d=nullptr) |
| Creates a LineMesh in the History given by nHistoryID.
|
|
WSM_EXPORT Result | APIGetLineMeshDataReadOnly (size_t nHistoryID, size_t nLineMeshID, std::vector< float > &aPoints, std::vector< uint32_t > &aIndices, std::vector< uint32_t > &aCounts) |
| Returns all the data from a LineMesh.
|
|
WSM_EXPORT Result | APILineMeshContainsPointReadOnly (const size_t nHistoryID, const size_t nLineMeshID, const Point3d &point, bool &bContainsPoint) |
| Does the given LineMesh contain the given Point3d? If so, return true.
|
|
WSM_EXPORT Result | APILineMeshGetPointsOnNegativeSideOfPlanesReadOnly (const size_t nHistoryID, const size_t nLineMeshID, const std::vector< Plane > &aPlanes, const Line3d &line, std::vector< Point3d > &aPoints, double dTol=WSM_MACHINE_TOL, std::vector< std::pair< Point3d, Point3d > > *pSegments=nullptr) |
| Get all points nearest the given line from segments of the LineMesh that lie on the negative side of all the given Planes.
|
|
WSM_EXPORT Result | APICreatePointMesh (size_t nHistoryID, size_t &nPointMeshID, const std::vector< float > &aPoints, const WSM::Transf3d *pTransf3d=nullptr) |
| Creates a PointMesh in the History given by nHistoryID.
|
|
WSM_EXPORT Result | APIGetPointMeshDataReadOnly (size_t nHistoryID, size_t nPointMeshID, std::vector< float > &aPoints) |
| Returns all the data from a PointMesh.
|
|
WSM_EXPORT Result | APIPointMeshContainsPointReadOnly (const size_t nHistoryID, const size_t nPointMeshID, const Point3d &point, bool &bContainsPoint) |
| Does the given PointMesh contain the given Point3d? If so, return true.
|
|
WSM_EXPORT Result | APIPointMeshGetPointsOnNegativeSideOfPlanesReadOnly (const size_t nHistoryID, const size_t nPointMeshID, const std::vector< Plane > &aPlanes, std::vector< Point3d > &aPoints, double dTol=WSM_MACHINE_TOL) |
| Get all points of the PointMesh that lie on the negative side of all the given Planes.
|
|
WSM_EXPORT Result | APIPushBadTransformationsOntoGeometry (size_t nHistID, std::function< bool(const WSM::Transf3d &) > isTransfGood) |
| Pushes bad Instance transformations onto the underlying geometry sharing referenced Histories as much as possible.
|
|
WSM_EXPORT Result | APICheckMassesCollideReadOnly (size_t nHistoryID, bool &bCollisionDetected) |
| Returns true if bodies that enclose volume (possibly in instances) touch or overlap.
|
|