|
Rhino C++ API
9.0
|
#include <opennurbs_brep.h>
Public Member Functions | |
| ON_BrepEdge () | |
| ON_BrepEdge (int) | |
| edge index More... | |
| int | AdjacentFaceIndices (ON_SimpleArray< int > &faceIndices) const |
| int | AdjacentFaces (ON_SimpleArray< const ON_BrepFace * > &faces) const |
| int | AdjacentFaces (ON_SimpleArray< ON_BrepFace * > &faces) |
| ON_Brep * | Brep () const |
| bool | ChangeEdgeCurve (int c3i) |
| ON_COMPONENT_INDEX | ComponentIndex () const override |
| virtual ON_Geometry::ComponentIndex() override More... | |
| ON__UINT32 | DataCRC (ON__UINT32 current_remainder) const override |
| virtual ON_Object::DataCRC override More... | |
| void | Dump (ON_TextLog &) const override |
| virtual ON_Object::Dump() override More... | |
| int | EdgeCurveIndexOf () const |
| Implementation. More... | |
| const ON_Curve * | EdgeCurveOf () const |
| bool | Get3dVectorsIntoFaces (double edge_t, ON_3dPoint &P, ON_3dVector &T, ON_SimpleArray< ON_3dVector > &V, ON_SimpleArray< ON_3dVector > &N) const |
| bool | Get3dVectorsIntoFaces (double edge_t, ON_3dPoint &P, ON_SimpleArray< ON_3dVector > &V, ON_SimpleArray< ON_3dVector > &N) const |
| bool | Get3dVectorsIntoFaces (double edge_t, ON_SimpleArray< ON_3dVector > &V, ON_SimpleArray< ON_3dVector > &N) const |
| bool | IsClosed () const override |
| virtual ON_Curve::IsClosed override More... | |
| bool | IsSmoothManifoldEdge (double angle_tolerance=ON_DEFAULT_ANGLE_TOLERANCE) const |
| bool | IsValid (class ON_TextLog *text_log=nullptr) const override |
| ON::object_type | ObjectType () const override |
| ON_BrepEdge & | operator= (const ON_BrepEdge &) |
| unsigned int | ProxyBrepSubDEdgeId () const |
| bool | Read (ON_BinaryArchive &) override |
| virtual ON_Object::Read() override More... | |
| bool | Reverse () override |
| virtual ON_Curve::Reverse override More... | |
| unsigned int | SizeOf () const override |
| virtual ON_Object::SizeOf override More... | |
| ON_BrepTrim * | Trim (int eti) const |
| int | TrimCount () const |
| void | UnsetPlineEdgeParameters () |
| ON_BrepVertex * | Vertex (int evi) const |
| bool | Write (ON_BinaryArchive &) const override |
| virtual ON_Object::Write() override More... | |
Public Member Functions inherited from ON_CurveProxy | |
| ON_CurveProxy () ON_NOEXCEPT | |
| ON_CurveProxy (const ON_Curve *) | |
| ON_CurveProxy (const ON_Curve *, ON_Interval) | |
| ON_CurveProxy (const ON_CurveProxy &) | |
| virtual | ~ON_CurveProxy () |
| ON__UINT32 | DataCRC (ON__UINT32 current_remainder) const override |
| virtual ON_Object::DataCRC override More... | |
| int | Degree () const override |
| void | DestroyRuntimeCache (bool bDelete=true) override |
| virtual ON_Object::DestroyRuntimeCache override More... | |
| int | Dimension () const override |
| ON_Geometry overrides. More... | |
| ON_Interval | Domain () const override |
| ON_Curve overrides. More... | |
| void | Dump (ON_TextLog &) const override |
| for debugging More... | |
| ON_Curve * | DuplicateCurve () const override |
| bool | Evaluate (double, int, int, double *, int=0, int *=0) const override |
| Domain changes from [a,b] to [-b,-a]. More... | |
| bool | GetBBox (double *boxmin, double *boxmax, bool bGrowBox=false) const override |
| virtual ON_Geometry GetBBox override More... | |
| bool | GetClosestPoint (const ON_3dPoint &, double *, double=0.0, const ON_Interval *=nullptr) const override |
| bool | GetCurveParameterFromNurbFormParameter (double, double *) const override |
| virtual ON_Curve::GetCurveParameterFromNurbFormParameter override More... | |
| bool | GetLength (double *, double=1.0e-8, const ON_Interval *=nullptr) const override |
| bool | GetLocalClosestPoint (const ON_3dPoint &, double, double *, const ON_Interval *=nullptr) const override |
| bool | GetNextDiscontinuity (ON::continuity c, double t0, double t1, double *t, int *hint=nullptr, int *dtype=nullptr, double cos_angle_tolerance=ON_DEFAULT_ANGLE_TOLERANCE_COSINE, double curvature_tolerance=ON_SQRT_EPSILON) const override |
| bool | GetNormalizedArcLengthPoint (double s, double *t, double fractional_tolerance=1.0e-8, const ON_Interval *sub_domain=nullptr) const override |
| bool | GetNormalizedArcLengthPoints (int count, const double *s, double *t, double absolute_tolerance=0.0, double fractional_tolerance=1.0e-8, const ON_Interval *sub_domain=nullptr) const override |
| int | GetNurbForm (ON_NurbsCurve &, double=0.0, const ON_Interval *=nullptr) const override |
| bool | GetNurbFormParameterFromCurveParameter (double, double *) const override |
| virtual ON_Curve::GetNurbFormParameterFromCurveParameter override More... | |
| bool | GetParameterTolerance (double, double *, double *) const override |
| (optional - override if curve is piecewise smooth) More... | |
| bool | GetSpanVector (double *) const override |
| int | HasNurbForm () const override |
| bool | IsArc (const ON_Plane *=nullptr, ON_Arc *=nullptr, double=ON_ZERO_TOLERANCE) const override |
| bool | IsClosed (void) const override |
| bool | IsContinuous (ON::continuity c, double t, int *hint=nullptr, double point_tolerance=ON_ZERO_TOLERANCE, double d1_tolerance=ON_ZERO_TOLERANCE, double d2_tolerance=ON_ZERO_TOLERANCE, double cos_angle_tolerance=ON_DEFAULT_ANGLE_TOLERANCE_COSINE, double curvature_tolerance=ON_SQRT_EPSILON) const override |
| bool | IsInPlane (const ON_Plane &, double=ON_ZERO_TOLERANCE) const override |
| bool | IsLinear (double=ON_ZERO_TOLERANCE) const override |
| bool | IsPeriodic (void) const override |
| periodic.) More... | |
| bool | IsPlanar (ON_Plane *=nullptr, double=ON_ZERO_TOLERANCE) const override |
| int | IsPolyline (ON_SimpleArray< ON_3dPoint > *pline_points=nullptr, ON_SimpleArray< double > *pline_t=nullptr) const override |
| virtual override of ON_Curve::IsPolyline More... | |
| bool | IsShort (double tolerance, const ON_Interval *sub_domain=0, double *length_estimate=0) const override |
| bool | IsValid (class ON_TextLog *text_log=nullptr) const override |
| ON_Object overrides. More... | |
| ON_CurveProxy & | operator= (const ON_CurveProxy &) |
| const ON_Curve * | ProxyCurve () const |
| ON_Interval | ProxyCurveDomain () const |
| bool | ProxyCurveIsReversed () const |
| bool | Read (ON_BinaryArchive &) override |
| double | RealCurveParameter (double t) const |
| bool | Reverse () override |
| bool | SetDomain (double t0, double t1) override |
| bool | SetDomain (ON_Interval domain) |
| void | SetProxyCurve (const ON_Curve *real_curve) |
| void | SetProxyCurve (const ON_Curve *real_curve, ON_Interval real_curve_subdomain) |
| bool | SetProxyCurveDomain (ON_Interval proxy_curve_subdomain) |
| unsigned int | SizeOf () const override |
| virtual ON_Object::SizeOf override More... | |
| int | SpanCount () const override |
| number of smooth spans in curve More... | |
| bool | Split (double t, ON_Curve *&left_side, ON_Curve *&right_side) const override |
| override of virtual ON_Curve::Split More... | |
| double | ThisCurveParameter (double real_curve_parameter) const |
| bool | Transform (const ON_Xform &) override |
| bool | Trim (const ON_Interval &domain) override |
| override of virtual ON_Curve::Trim More... | |
| bool | Write (ON_BinaryArchive &) const override |
Public Member Functions inherited from ON_Curve | |
| ON_Curve () ON_NOEXCEPT | |
| ON_Curve (const ON_Curve &) | |
| virtual | ~ON_Curve () |
| bool | AreaMassProperties (ON_3dPoint base_point, ON_3dVector plane_normal, ON_MassProperties &mp, bool bArea=true, bool bFirstMoments=true, bool bSecondMoments=true, bool bProductMoments=true, double rel_tol=1.0e-6, double abs_tol=1.0e-6) const |
| virtual bool | ChangeClosedCurveSeam (double t) |
| bool | ChangeClosedCurveSeam (double t, double min_dist) |
| virtual bool | ChangeDimension (int desired_dimension) |
| virtual class ON_CurveTree * | CreateCurveTree () const |
| ON_3dVector | CurvatureAt (double t) const |
| const class ON_CurveTree * | CurveTree () const |
| ON_3dVector | DerivativeAt (double t) const |
| void | DestroyCurveTree () |
| bool | Ev1Der (double t, ON_3dPoint &point, ON_3dVector &first_derivative, int side=0, int *hint=0) const |
| bool | Ev2Der (double t, ON_3dPoint &point, ON_3dVector &first_derivative, ON_3dVector &second_derivative, int side=0, int *hint=0) const |
| bool | EvaluatePoint (const class ON_ObjRef &objref, ON_3dPoint &P) const override |
| virtual ON_Geometry override More... | |
| bool | EvCurvature (double t, ON_3dPoint &point, ON_3dVector &tangent, ON_3dVector &kappa, int side=0, int *hint=0) const |
| bool | EvPoint (double t, ON_3dPoint &point, int side=0, int *hint=0) const |
| bool | EvSignedCurvature (double t, ON_3dPoint &point, ON_3dVector &tangent, double &kappa, const ON_3dVector *normal=nullptr, int side=0, int *hint=0) const |
| bool | EvTangent (double t, ON_3dPoint &point, ON_3dVector &tangent, int side=0, int *hint=0) const |
| virtual bool | Extend (const ON_Interval &domain) |
| bool | FirstSpanIsLinear (double min_length, double tolerance) const |
| bool | FirstSpanIsLinear (double min_length, double tolerance, ON_Line *span_line) const |
| bool | FrameAt (double t, ON_Plane &plane) const |
| bool | GetDomain (double *t0, double *t1) const |
| curve interface More... | |
| virtual bool | GetSpanVectorIndex (double t, int side, int *span_vector_index, ON_Interval *span_domain) const |
| bool | GetTightBoundingBox (class ON_BoundingBox &tight_bbox, bool bGrowBox=false, const class ON_Xform *xform=nullptr) const override |
| virtual ON_Geometry GetTightBoundingBox override More... | |
| int | IntersectCurve (const ON_Curve *curveB, ON_SimpleArray< ON_X_EVENT > &x, double intersection_tolerance=0.0, double overlap_tolerance=0.0, const ON_Interval *curveA_domain=0, const ON_Interval *curveB_domain=0) const |
| int | IntersectPlane (ON_PlaneEquation plane_equation, ON_SimpleArray< ON_X_EVENT > &x, double intersection_tolerance=0.0, double overlap_tolerance=0.0, const ON_Interval *curve_domain=0) const |
| virtual int | IntersectSelf (ON_SimpleArray< ON_X_EVENT > &x, double intersection_tolerance=0.0, const ON_Interval *curve_domain=0) const |
| int | IntersectSurface (const ON_Surface *surfaceB, ON_SimpleArray< ON_X_EVENT > &x, double intersection_tolerance=0.0, double overlap_tolerance=0.0, const ON_Interval *curveA_domain=0, const ON_Interval *surfaceB_udomain=0, const ON_Interval *surfaceB_vdomain=0) const |
| bool | IsArcAt (double t, const ON_Plane *plane=0, ON_Arc *arc=0, double tolerance=ON_ZERO_TOLERANCE, double *t0=0, double *t1=0) const |
| bool | IsClosable (double tolerance, double min_abs_size=0.0, double min_rel_size=10.0) const |
| virtual bool | IsEllipse (const ON_Plane *plane=nullptr, ON_Ellipse *ellipse=nullptr, double tolerance=ON_ZERO_TOLERANCE) const |
| bool | IsLong (double min_length, const ON_Interval *sub_domain=0) const |
| bool | LastSpanIsLinear (double min_length, double tolerance) const |
| bool | LastSpanIsLinear (double min_length, double tolerance, ON_Line *span_line) const |
| bool | LengthMassProperties (class ON_MassProperties &mp, bool bLength=true, bool bFirstMoments=true, bool bSecondMoments=true, bool bProductMoments=true, double rel_tol=1.0e-6, double abs_tol=1.0e-6) const |
| class ON_PolylineCurve * | MeshCurve (ON_MeshCurveParameters &mp, ON_PolylineCurve *polyline, bool bSkipFirstPoint, const ON_Interval *domain) const |
| double | NextCurveKink (ON_Interval search_domain, const class ON_CurveKinkDefinition &kink_definition) const |
| Find the next curve kink in the search domain. More... | |
| ON_NurbsCurve * | NurbsCurve (ON_NurbsCurve *pNurbsCurve=nullptr, double tolerance=0.0, const ON_Interval *subdomain=nullptr) const |
| class ON_NurbsCurve * | NurbsCurveFit (ON_Interval domain, const class ON_NurbsCurveFitParameters &fit_parameters, class ON_NurbsCurve *destination_nurbs_cuve, class ON_Line &maximum_separation, double &this_separation_parameter, double &nurbs_separation_parameter) const |
| Get a uniform NURBS curve fit to this curve.. This function is useful when you want to fit this curve a single time. If you are in a situation where you are repeatedly adjusting fit_parameters, it is much more efficient to use the ON_NurbsCurveFitBuilder class because the steps involved in sampling points and other information from this input curve are expensive and can be reused as fit_parameters.Degree(), fit_parameters.PointCount(), and other fitting parmeters are changed. More... | |
| ON::object_type | ObjectType () const override |
| ON_Curve & | operator= (const ON_Curve &) |
| ON_3dPoint | PointAt (double t) const |
| ON_3dPoint | PointAtEnd () const |
| ON_3dPoint | PointAtStart () const |
| virtual bool | RemoveShortSegments (double tolerance, bool bRemoveShortSegments=true) |
| bool | SetDomain (ON_Interval domain) |
| virtual bool | SetEndPoint (ON_3dPoint end_point) |
| virtual bool | SetStartPoint (ON_3dPoint start_point) |
| double | SignedCurvatureAt (double t, const ON_3dVector *plane_normal=nullptr) const |
| const ON_SimpleArray< double > | SpanVector () const |
| The curve's span vector is a stricltly monotone increasing list of doubles that are the intervals on which the curve is C-infinity. More... | |
| ON_3dVector | TangentAt (double t) const |
| ON_3dVector | TangentAt (double t, int side) const |
| Evaluate the unit tangent vector with the option to specify the direction of the limit. This is useful when evaluating tangent vectors at a tangent discontinuity. More... | |
Public Member Functions inherited from ON_Geometry | |
| ON_Geometry ()=default | |
| ON_Geometry (const ON_Geometry &)=default | |
| ~ON_Geometry ()=default | |
| ON_BoundingBox | BoundingBox () const |
| virtual class ON_Brep * | BrepForm (class ON_Brep *brep=nullptr) const |
| virtual void | ClearBoundingBox () |
| bool | GetBoundingBox (ON_3dPoint &bbox_min, ON_3dPoint &bbox_max, bool bGrowBox=false) const |
| bool | GetBoundingBox (ON_BoundingBox &bbox, bool bGrowBox=false) const |
| virtual bool | HasBrepForm () const |
| virtual bool | IsDeformable () const |
| virtual bool | IsMorphable () const |
| bool | IsValid (class ON_TextLog *text_log=nullptr) const override |
| virtual bool | MakeDeformable () |
| virtual bool | Morph (const class ON_SpaceMorph &morph) |
| ON_Geometry & | operator= (const ON_Geometry &)=default |
| bool | Rotate (double rotation_angle, const ON_3dVector &rotation_axis, const ON_3dPoint &rotation_center) |
| bool | Rotate (double sin_angle, double cos_angle, const ON_3dVector &rotation_axis, const ON_3dPoint &rotation_center) |
| bool | Scale (double scale_factor) |
| virtual bool | SwapCoordinates (int i, int j) |
| const ON_BoundingBox | TightBoundingBox () const |
| bool | Translate (const ON_3dVector &translation_vector) |
Public Member Functions inherited from ON_Object | |
| ON_Object () ON_NOEXCEPT | |
| ON_Object (const ON_Object &) | |
| virtual | ~ON_Object () |
| virtual ON_AggregateComponentStatus | AggregateComponentStatus () const |
| bool | AttachUserData (class ON_UserData *pUserData) |
| unsigned int | ClearAllComponentStates () const |
| virtual unsigned int | ClearComponentStates (ON_COMPONENT_INDEX component_index, ON_ComponentStatus states_to_clear) const |
| virtual unsigned int | ClearComponentStates (ON_ComponentStatus states_to_clear) const |
| void | CopyUserData (const ON_Object &source_object) |
| unsigned int | CopyUserData (const ON_Object &source_object, ON_UUID source_userdata_item_id, ON_Object::UserDataConflictResolution userdata_conflict_resolution) |
| virtual bool | DeleteComponents (const ON_COMPONENT_INDEX *ci_list, size_t ci_count) |
| bool | DetachUserData (class ON_UserData *pUserData) |
| void | DumpUserData (const wchar_t *description, ON_TextLog &text_log) const |
| Go through the linked list of ON_UserData attached to this and call the virtual Dump(text_log) function on each instance. More... | |
| void | EmergencyDestroy () |
| class ON_UserData * | FirstUserData () const |
| virtual unsigned int | GetComponentsWithSetStates (ON_ComponentStatus states_filter, bool bAllEqualStates, ON_SimpleArray< ON_COMPONENT_INDEX > &components) const |
| class ON_UserData * | GetUserData (const ON_UUID &userdata_uuid) const |
| bool | GetUserString (const wchar_t *key, ON_wString &string_value) const |
| int | GetUserStringKeys (ON_ClassArray< ON_wString > &user_string_keys) const |
| int | GetUserStrings (ON_ClassArray< ON_UserString > &user_strings) const |
| bool | IsCorrupt (bool bRepair, bool bSilentError, class ON_TextLog *text_log) const |
| bool | IsKindOf (const ON_ClassId *pClassId) const |
| virtual void | MarkAggregateComponentStatusAsNotCurrent () const |
| virtual void | MemoryRelocate () |
| virtual ON_UUID | ModelObjectId () const |
| void | MoveUserData (ON_Object &source_object) |
| unsigned int | MoveUserData (ON_Object &source_object, ON_UUID source_userdata_item_id, ON_Object::UserDataConflictResolution userdata_conflict_resolution, bool bDeleteAllSourceItems) |
| ON_wString | ObjectTypeStr () const |
| virtual More... | |
| ON_Object & | operator= (const ON_Object &) |
| void | PurgeUserData () |
| virtual unsigned int | SetComponentStates (ON_COMPONENT_INDEX component_index, ON_ComponentStatus states_to_set) const |
| virtual unsigned int | SetComponentStatus (ON_COMPONENT_INDEX component_index, ON_ComponentStatus status_to_copy) const |
| bool | SetUserString (const wchar_t *key, const wchar_t *string_value) |
| int | SetUserStrings (int count, const ON_UserString *user_strings, bool bReplace) |
| bool | ThisIsNullptr (bool bSilentError) const |
| void | TransformUserData (const class ON_Xform &xform) |
| virtual bool | UpdateReferencedComponents (const class ON_ComponentManifest &source_manifest, const class ON_ComponentManifest &destination_manifest, const class ON_ManifestMap &manifest_map) |
| int | UserStringCount () const |
Public Attributes | |
| int | m_c3i = -1 |
| int | m_edge_index = -1 |
| index of edge in ON_Brep.m_E[] array More... | |
| ON_U | m_edge_user |
| ON_ComponentStatus | m_status = ON_ComponentStatus::NoneSet |
| ON_SimpleArray< int > | m_ti |
| indices of Trims that use this edge More... | |
| double | m_tolerance = ON_UNSET_VALUE |
| int | m_vi [2] |
Friends | |
| class | ON_Brep |
Additional Inherited Members | |
Public Types inherited from ON_Object | |
| enum | UserDataConflictResolution : unsigned char { UserDataConflictResolution::destination_object = 0, UserDataConflictResolution::source_object = 1, UserDataConflictResolution::source_copycount_gt = 2, UserDataConflictResolution::source_copycount_ge = 3, UserDataConflictResolution::destination_copycount_gt = 4, UserDataConflictResolution::destination_copycount_ge = 5, UserDataConflictResolution::delete_item = 6 } |
Static Public Member Functions inherited from ON_Curve | |
| static class ON_NurbsCurve * | CreateCubicLoft (int point_count, int point_dim, int point_stride, const double *point_list, double k, int is_closed=0, ON::cubic_loft_end_condition start_shape=ON::cubic_loft_ec_quadratic, ON::cubic_loft_end_condition end_shape=ON::cubic_loft_ec_quadratic, class ON_NurbsCurve *nurbs_curve=0) |
| static bool | GetCurveSeparation (const ON_Curve &curveA, ON_Interval domainA, const ON_Curve &curveB, ON_Interval domainB, ON_Line &minimum_separation, double *min_parameter_A, double *min_parameter_B, ON_Line &maximum_separation, double *max_parameter_A, double *max_parameter_B) |
| Find the locations of the minimimum and maximum separation between two curves. When the separation points are distinct, the line connecting the separation points is perpindicular to the curves. This calculates the distances and locations shown in the Rhino CrvDeviation command. More... | |
Static Public Attributes inherited from ON_Geometry | |
| const static ON_Geometry | Unset |
Protected Member Functions inherited from ON_CurveProxy | |
| void | SetProxyCurveIsReversed (bool bReversed) |
Protected Member Functions inherited from ON_Curve | |
| bool | ParameterSearch (double t, int &index, bool bEnableSnap, const ON_SimpleArray< double > &m_t, double RelTol=ON_SQRT_EPSILON) const |
Description: Brep edge information is stored in ON_BrepEdge classes. ON_Brep.m_E[] is an array of all the edges in the brep.
An ON_BrepEdge is derived from ON_CurveProxy so the edge can supply easy to use evaluation tools via the ON_Curve virtual member functions.
Note well that the domains and orientations of the curve m_C3[edge.m_c3i] and the edge as a curve may not agree. April 24, 2017 Dale Lear ON_Curve::Trim(const ON_Interval&) is a virtual function and ON_BrepEdge derives from ON_CurveProxy which derives from ON_Curve. The ON_Brep::Trim(int) function was added and mistakenly named "Trim". This all happened about twenty years ago.
Both the virtual ON_Curve::Trim(const ON_Interval&) and ON_BrepEdge::Trim(int) functions are widely used. At some point the functionON_Brep::Trim() will be deprecated and the 4263 warning ON_Brep::Trim(int) generates will be disabled for the definition of class ON_BrepEdge. In version 7, ON_Brep::Trim(int) will be deleted and the warning will no longer be disabled.
| ON_BrepEdge::ON_BrepEdge | ( | ) |
Construction
In general, you should not directly create ON_BrepEdge classes. Use ON_Brep::NewVertex instead.
| ON_BrepEdge::ON_BrepEdge | ( | int | ) |
edge index
| int ON_BrepEdge::AdjacentFaceIndices | ( | ON_SimpleArray< int > & | faceIndices | ) | const |
Puts the face indices that this edge bounds. returns the number of indices added to the array.
| int ON_BrepEdge::AdjacentFaces | ( | ON_SimpleArray< const ON_BrepFace * > & | faces | ) | const |
Puts the faces that this edge bounds in the faces array. returns the number of faces added to the array.
| int ON_BrepEdge::AdjacentFaces | ( | ON_SimpleArray< ON_BrepFace * > & | faces | ) |
Puts the faces that this edge bounds in the faces array. returns the number of faces added to the array.
| ON_Brep* ON_BrepEdge::Brep | ( | ) | const |
Returns: Brep this edge belongs to.
| bool ON_BrepEdge::ChangeEdgeCurve | ( | int | c3i | ) |
Description: Expert user tool that replaces the 3d curve geometry of an edge Parameters; c3i - [in] brep 3d curve index of new curve Returns: True if successful. Example:
ON_Curve* pCurve = ...;
int c3i = brep.AddEdgeCurve(pCurve);
edge.ChangeEdgeCurve(c3i);
Remarks: Sets m_c3i, calls SetProxyCurve, cleans runtime caches.
|
overridevirtual |
virtual ON_Geometry::ComponentIndex() override
Reimplemented from ON_Geometry.
|
overridevirtual |
virtual ON_Object::DataCRC override
Reimplemented from ON_Object.
|
overridevirtual |
| int ON_BrepEdge::EdgeCurveIndexOf | ( | ) | const |
Implementation.
Returns: brep.m_C3[] index of the 3d curve geometry used by this edge or -1.
| const ON_Curve* ON_BrepEdge::EdgeCurveOf | ( | ) | const |
Returns: 3d curve geometry used by this edge or nullptr.
| bool ON_BrepEdge::Get3dVectorsIntoFaces | ( | double | edge_t, |
| ON_3dPoint & | P, | ||
| ON_3dVector & | T, | ||
| ON_SimpleArray< ON_3dVector > & | V, | ||
| ON_SimpleArray< ON_3dVector > & | N | ||
| ) | const |
Description: For each trim at this edge, find the 3d unit vector at the edge parameter in the trim's surface tan plane, perpendicular to the edge, which points to the active side of the trim. Also returns the point and tangent on the edge. Parameters: edge_t - [in] parameter of this edge. P - [out] The point on the edge T - [out] The edge tangent vector V - [out] 3d vectors pointing into the faces. One for each trim, in order of m_ti. N - [out] Surface normals at edge_t. Perpendicular to V. Returns: True if vectors can be found. False if edge tangent or surface normals can't be found, or if input is bad.
| bool ON_BrepEdge::Get3dVectorsIntoFaces | ( | double | edge_t, |
| ON_3dPoint & | P, | ||
| ON_SimpleArray< ON_3dVector > & | V, | ||
| ON_SimpleArray< ON_3dVector > & | N | ||
| ) | const |
Description: For each trim at this edge, find the 3d unit vector at the edge parameter in the trim's surface tan plane, perpendicular to the edge, which points to the active side of the trim. Also returns the point on the edge. Parameters: edge_t - [in] parameter of this edge. P - [out] The point on the edge V - [out] 3d vectors pointing into the faces. One for each trim, in order of m_ti. N - [out] Surface normals at edge_t. Perpendicular to V. Returns: True if vectors can be found. False if edge tangent or surface normals can't be found, or if input is bad.
| bool ON_BrepEdge::Get3dVectorsIntoFaces | ( | double | edge_t, |
| ON_SimpleArray< ON_3dVector > & | V, | ||
| ON_SimpleArray< ON_3dVector > & | N | ||
| ) | const |
Description: For each trim at this edge, find the 3d unit vector at the edge parameter in the trim's surface tan plane, perpendicular to the edge, which points to the active side of the trim Parameters: edge_t - [in] parameter of this edge. V - [out] 3d vectors pointing into the faces. One for each trim, in order of m_ti. N - [out] Surface normals at edge_t. Perpendicular to V. Returns: True if vectors can be found. False if edge tangent or surface normals can't be found, or if input is bad.
|
overridevirtual |
virtual ON_Curve::IsClosed override
Reimplemented from ON_Curve.
| bool ON_BrepEdge::IsSmoothManifoldEdge | ( | double | angle_tolerance = ON_DEFAULT_ANGLE_TOLERANCE | ) | const |
Not necessary. Base class does the right thing. ON_CurveProxy does not have an override. / virtual ON_Curve::SetStartPoint override bool SetStartPoint( ON_3dPoint start_point );
/ virtual ON_Curve::SetEndPoint override bool SetEndPoint( ON_3dPoint end_point ); Description: For a manifold, non-boundary edge, decides whether or not the two surfaces on either side meet smoothly. Parameters: angle_tolerance - [in] used to decide if surface normals on either side are parallel. Returns: true if edge is manifold, has exactly 2 trims, and surface normals on either side agree to within angle_tolerance.
|
overridevirtual |
Description: Tests an object to see if its data members are correctly initialized. Parameters: text_log - [in] if the object is not valid and text_log is not nullptr, then a brief english description of the reason the object is not valid is appended to the log. The information appended to text_log is suitable for low-level debugging purposes by programmers and is not intended to be useful as a high level user interface tool. Returns: @untitled table true object is valid false object is invalid, uninitialized, etc.
Reimplemented from ON_Object.
|
overridevirtual |
virtual ON_Object function The ON_BrepEdge override returns ON::curve_object.
Reimplemented from ON_Object.
| ON_BrepEdge& ON_BrepEdge::operator= | ( | const ON_BrepEdge & | ) |
| unsigned int ON_BrepEdge::ProxyBrepSubDEdgeId | ( | ) | const |
Returns: If this edge is part of a brep created by ON_SubD::ProxyBrep(), then the subd component id of the corresponding SubD edge is returned. Otherwise 0 is returned.
|
overridevirtual |
virtual ON_Object::Read() override
Reimplemented from ON_Object.
|
overridevirtual |
virtual ON_Curve::Reverse override
Implements ON_Curve.
|
overridevirtual |
virtual ON_Object::SizeOf override
Reimplemented from ON_Object.
| ON_BrepTrim* ON_BrepEdge::Trim | ( | int | eti | ) | const |
Parameters: eti - [in] index into the edge's m_ti[] array. Returns: The trim brep.m_T[edge.m_ti[eti]]; Remarks: This version of "Trim" hides the virtual function ON_CurveProxy::Trim(const ON_Interval&), which is a good thing. Special care must be taken when changing the geometry of a brep edge to insure vertex, trim, and edge information remains valid.
| int ON_BrepEdge::TrimCount | ( | ) | const |
Returns: Number of trims attached to this edge.
| void ON_BrepEdge::UnsetPlineEdgeParameters | ( | ) |
Description: When an edge is modified, the m_pline[].e values need to be set to ON_UNSET_VALUE by calling UnsetPlineEdgeParameters().
| ON_BrepVertex* ON_BrepEdge::Vertex | ( | int | evi | ) | const |
Parameters: evi - [in] 0 or 1 Returns: Brep vertex at specified end of the edge.
|
overridevirtual |
virtual ON_Object::Write() override
Reimplemented from ON_Object.
|
friend |
| int ON_BrepEdge::m_c3i = -1 |
index of 3d curve in m_C3[] array (edge.m_curve also points to m_C3[m_c3i])
| int ON_BrepEdge::m_edge_index = -1 |
index of edge in ON_Brep.m_E[] array
|
mutable |
Union available for application use. The constructor zeros m_edge_user. The value is of m_edge_user is not saved in 3DM archives and may be changed by some computations.
|
mutable |
| ON_SimpleArray<int> ON_BrepEdge::m_ti |
indices of Trims that use this edge
| double ON_BrepEdge::m_tolerance = ON_UNSET_VALUE |
accuracy of edge curve (>=0.0 or ON_UNSET_VALUE)
A value of ON_UNSET_VALUE indicates that the tolerance should be computed.
The maximum distance from the edge's 3d curve to any surface of a face that has this edge as a portion of its boundary must be <= this tolerance.
| int ON_BrepEdge::m_vi[2] |
indices of starting/ending vertex
For closed edges, m_vi[0] = m_vi[1] and m_edge_index appears twice in the m_V[m_vi[0]].m_ei[] array. The first occurrence of m_edge_index in m_V[m_vi[0]].m_ei[] is for the closed edge starting the vertex. The second occurrence of m_edge_index in m_V[m_vi[0]].m_ei[] is for the closed edge ending at the vertex. C.f. ON_Brep::Next/PrevEdge().
1.8.17