#include <opennurbs_subd.h>
◆ ClearMark()
bool ON_SubDEdgePtr::ClearMark |
( |
| ) |
const |
Description: Clears (sets to false) the value of the component mark. Remarks: SubD components have a mutable runtime mark that can be used in any context where a single thread cares about the marks. It is widely used in many calculations to keep track of sets of components that are in a certain context specfic state. Returns: Input value of Mark().
◆ ClearMarkBits()
ON__UINT8 ON_SubDEdgePtr::ClearMarkBits |
( |
| ) |
const |
◆ ClearSavedSubdivisionPoints() [1/2]
void ON_SubDEdgePtr::ClearSavedSubdivisionPoints |
( |
| ) |
const |
◆ ClearSavedSubdivisionPoints() [2/2]
void ON_SubDEdgePtr::ClearSavedSubdivisionPoints |
( |
bool |
bClearNeighborhood | ) |
const |
Description: Clears saved subdivision and limit surface information for this component. Parameters: bClearNeighborhood - [in] If true, all components attached to this component are also cleared.
◆ Create() [1/3]
◆ Create() [2/3]
Parameters: edge - [in] Returns: An ON_SubDEdgePtr pointing at edge with direction = 0 (not reversed).
◆ Create() [3/3]
Parameters: edge - [in] direction - [in] 0: not reversed 1: reversed Returns: An ON_SubDEdgePtr pointing at edge with the specified direction.
◆ CreateFromEndVertex()
Parameters: edge - [in] end_vertex - [in] One of the edge's vertices. Returns: An ON_SubDEdgePtr pointing at edge with RelativeVertex(1) = end_vertex.
◆ CreateFromStartVertex()
Parameters: edge - [in] start_vertex - [in] One of the edge's vertices. Returns: An ON_SubDEdgePtr pointing at edge with RelativeVertex(0) = start_vertex.
◆ Edge()
◆ EdgeDirection()
ON__UINT_PTR ON_SubDEdgePtr::EdgeDirection |
( |
| ) |
const |
◆ EdgeFaceCount()
unsigned int ON_SubDEdgePtr::EdgeFaceCount |
( |
| ) |
const |
Returns: If Edge() is not nullptr, Edge()->FaceCount() is returned. Otherwise, 0 is returned.
◆ EdgeId()
unsigned int ON_SubDEdgePtr::EdgeId |
( |
| ) |
const |
Returns: If Edge() is not nullptr, Edge()->m_id is returned. Otherwise, 0 is returned.
◆ EdgeIsCrease()
bool ON_SubDEdgePtr::EdgeIsCrease |
( |
| ) |
const |
Returns: If Edge() is not nullptr, Edge()->IsCrease() is returned. Otherwise, false is returned.
◆ EdgeIsDartCrease()
bool ON_SubDEdgePtr::EdgeIsDartCrease |
( |
| ) |
const |
Returns: If Edge() is not nullptr, Edge()->IsDartCrease() is returned. Otherwise, false is returned.
◆ EdgeIsHardCrease()
bool ON_SubDEdgePtr::EdgeIsHardCrease |
( |
| ) |
const |
Returns: If Edge() is not nullptr, Edge()->IsHardCrease() is returned. Otherwise, false is returned.
◆ EdgeIsSmooth()
bool ON_SubDEdgePtr::EdgeIsSmooth |
( |
| ) |
const |
Returns: If Edge() is not nullptr, Edge()->IsSmooth() is returned. Otherwise, false is returned.
◆ EdgeSurfaceCurve()
Description: Get a cubic, uniform, nonrational, NURBS curve that is on the edge's limit curve with this->EdgeDirection() taken into account. Parameters: bClampEndKnots - [] If true, the end knots are clamped. Otherwise the end knots are (-2,-1,0,....,k1,k1+1,k1+2). destination - [in] If not nullptr, then the curve is created in this instance. Returns: A pointer to the curve or nullptr if the edge is not valid.
◆ GetEdgeSurfaceCurveControlPoints()
unsigned int ON_SubDEdgePtr::GetEdgeSurfaceCurveControlPoints |
( |
ON_3dPoint * |
cvs, |
|
|
size_t |
cv_capacity |
|
) |
| const |
Description: Get limit curve control points with this->EdgeDirection() taken into account. Returns: 0 - failed. 4, 5, 7, 11: Number of cvs for a cubic uniform nonrational NURBS curve with (cv_count+2) knots = (-2,-1,0,1,2,3,4,5,6,7,8,9,10). Remarks: For exceptional cases,
◆ HasInteriorEdgeTopology()
bool ON_SubDEdgePtr::HasInteriorEdgeTopology |
( |
bool |
bRequireOppositeFaceDirections | ) |
const |
Returns: If Edge() is not nullptr, Edge()->HasInteriorEdgeTopology(bRequireOppositeFaceDirections) is returned. Otherwise, false is returned.
◆ IsActive()
bool ON_SubDEdgePtr::IsActive |
( |
| ) |
const |
Returns: True if this edge is active in its parent subd or other relevent context. Remarks: When a component is in use, IsActive() = true. If was used and then deleted, IsActive() is false.
◆ IsNotNull()
bool ON_SubDEdgePtr::IsNotNull |
( |
| ) |
const |
Returns: True if this->Edge() is not nullptr.
◆ IsNotNullAndVerticesAreNotNull()
bool ON_SubDEdgePtr::IsNotNullAndVerticesAreNotNull |
( |
| ) |
const |
Returns: True if this->Edge() is not nullptr and both vertex pointers are not null as well.
◆ IsNull()
bool ON_SubDEdgePtr::IsNull |
( |
| ) |
const |
Returns: True if this->Edge() is nullptr.
◆ Mark()
bool ON_SubDEdgePtr::Mark |
( |
| ) |
const |
Returns: The current value of the component mark ( m_status->RuntimeMark() ). Remarks: SubD components have a mutable runtime mark that can be used in any context where a single thread cares about the marks. It is widely used in many calculations to keep track of sets of components that are in a certain context specfic state.
◆ MarkBits()
◆ RelativeControlNetDirection()
const ON_3dVector ON_SubDEdgePtr::RelativeControlNetDirection |
( |
| ) |
const |
◆ RelativeControlNetLine()
const ON_Line ON_SubDEdgePtr::RelativeControlNetLine |
( |
| ) |
const |
◆ RelativeControlNetPoint()
const ON_3dPoint ON_SubDEdgePtr::RelativeControlNetPoint |
( |
int |
relative_vertex_index | ) |
const |
◆ RelativeDirection()
const ON_3dVector ON_SubDEdgePtr::RelativeDirection |
( |
| ) |
const |
Returns: The vector from RelativeVertex(0)->ControlNetPoint() to RelativeVertex(1)->ControlNetPoint(), or ON_3dVector::NanVector if the relative vertex pointers are nullptr.
◆ RelativeFace()
const class ON_SubDFace* ON_SubDEdgePtr::RelativeFace |
( |
int |
relative_face_index | ) |
const |
Description: Get the face on the left or right side of an oriented manifold or boundary edge. A face is on the "left side" if this ON_SubDEdgePtr is oriented so it points in the same direction as the face's oriented boundary. A face is on the "right side" if this ON_SubDEdgePtr is oriented so it points in the opposite direction as the face's oriented boundary. If an edge is nonmanifold (3 or more faces), then nullptr is always returned. If an edge has two faces that do not attach to this edge with opposite orientations (nonoriented manifold edge), then nullptr is returned.
Parameters: relative_face_index - [in] 0: return face on the left side of the edge with respect to EdgeOrientation(). 1: return face on the right side of the edge with respect to EdgeOrientation(). Returns: The requested face.
◆ RelativeFaceMark()
bool ON_SubDEdgePtr::RelativeFaceMark |
( |
int |
relative_face_index, |
|
|
bool |
missing_face_return_value |
|
) |
| const |
Returns: this->RelativeFace(relative_face_index)->Mark();
◆ RelativeFaceMarkBits()
ON__UINT8 ON_SubDEdgePtr::RelativeFaceMarkBits |
( |
int |
relative_face_index, |
|
|
ON__UINT8 |
missing_face_return_value |
|
) |
| const |
Returns: this->RelativeFace(relative_face_index)->MarkBits();
◆ RelativeSectorCoefficient()
double ON_SubDEdgePtr::RelativeSectorCoefficient |
( |
int |
relative_vertex_index | ) |
const |
Parameters: relative_vertex_index - [in] Returns: If Edge() not nullptr, then If (relative_vertex_index = 0), returns Edge()->m_sector_coefficient(EdgeDirection()) If (relative_vertex_index = 0), returns Edge()->m_sector_coefficient(1-EdgeDirection()) Otherwise ON_SubDSectorType::ErrorSectorCoefficient is returned. Remarks: The name "sector coefficient" is used because is is a property of the vertex's sector (every edge in vertex sector has the same value at the tagged vertex). The sector coefficient does not change when a subdivision is applied.
◆ RelativeVertex()
const class ON_SubDVertex* ON_SubDEdgePtr::RelativeVertex |
( |
int |
relative_vertex_index | ) |
const |
Parameters: relative_vertex_index - [in] 0: return Edge()->Vertex(EdgeDirection()) 1: return Edge()->Vertex(1-EdgeDirection()) Returns: The requested vertex with EdgeDirection() taken into account. nullptr if relative_vertex_index, Edge() is nullptr, or Edge()->Vertex() is nullptr.
◆ RelativeVertexId()
unsigned ON_SubDEdgePtr::RelativeVertexId |
( |
int |
relative_vertex_index | ) |
const |
Parameters: relative_vertex_index - [in] 0: return Edge()->Vertex(EdgeDirection()) 1: return Edge()->Vertex(1-EdgeDirection()) Returns: The requested id of the vertex with EdgeDirection() taken into account. 0 if relative_vertex_index, Edge() is nullptr, or Edge()->Vertex() is nullptr.
◆ RelativeVertexMark()
bool ON_SubDEdgePtr::RelativeVertexMark |
( |
int |
relative_vertex_index, |
|
|
bool |
missing_vertex_return_value |
|
) |
| const |
◆ RelativeVertexMarkBits()
ON__UINT8 ON_SubDEdgePtr::RelativeVertexMarkBits |
( |
int |
relative_vertex_index, |
|
|
ON__UINT8 |
missing_vertex_return_value |
|
) |
| const |
◆ Reversed()
Returns: A ON_SubDEdgePtr pointing at the same edge with the direction reversed from this.
◆ SetMark() [1/2]
bool ON_SubDEdgePtr::SetMark |
( |
| ) |
const |
Description: Sets (sets to true) the value of the component mark. Remarks: SubD components have a mutable runtime mark that can be used in any context where a single thread cares about the marks. It is widely used in many calculations to keep track of sets of components that are in a certain context specfic state. Returns: Input value of Mark().
◆ SetMark() [2/2]
bool ON_SubDEdgePtr::SetMark |
( |
bool |
bMark | ) |
const |
Description: Sets the value of the component mark to bMark. Parameter: bMark - [in] Remarks: SubD components have a mutable runtime mark that can be used in any context where a single thread cares about the marks. It is widely used in many calculations to keep track of sets of components that are in a certain context specfic state. Returns: Input value of Mark().
◆ SetMarkBits()
◆ Status()
Returns: this->Edge()->m_status.
◆ m_ptr
ON__UINT_PTR ON_SubDEdgePtr::m_ptr |
For performance reasons, m_ptr is not initialized and no constructors are declared or implemented. If you require initialization, then use x = ON_SubDEdgePtr::Null or x = ON_SubDEdgePtr::Create(...).
◆ Null