Merge pull request #126 from mcneel/update-1787046531-v8.34.26223.11001
Sync changes from upstream repository
This commit is contained in:
+1
-1
@@ -96,7 +96,7 @@
|
||||
|
||||
|
||||
/* The openNURBS toolkit allows users to write all openNURBS classed that are
|
||||
// derived from ON_Object using using TCODE_OPENNURBS_CLASS chunks.
|
||||
// derived from ON_Object using TCODE_OPENNURBS_CLASS chunks.
|
||||
// In the .3dm file these TCODE_OPENNURBS_CLASS chunks are always have the
|
||||
// following format.
|
||||
*/
|
||||
|
||||
@@ -420,7 +420,7 @@ public:
|
||||
// m_floating_viewport is used to track floating viewport information.
|
||||
// 0 = the view is docked in the main application window.
|
||||
// >0 = the view is floating. When floating, this corresponds to the
|
||||
// number of monitors on on the user's computer when the file was saved
|
||||
// number of monitors on the user's computer when the file was saved
|
||||
unsigned char m_floating_viewport;
|
||||
private:
|
||||
// reserved for future use
|
||||
@@ -605,7 +605,7 @@ public:
|
||||
// After Dec 14, 2010 m_clipping_planes is saved.
|
||||
ON_SimpleArray<ON_ClippingPlaneInfo> m_clipping_planes;
|
||||
|
||||
// If true, the the camera location, camera direction,
|
||||
// If true, the camera location, camera direction,
|
||||
// and lens angle should not be changed.
|
||||
// It is ok to adjust clipping planes.
|
||||
bool m_bLockedProjection;
|
||||
@@ -1151,7 +1151,7 @@ public:
|
||||
elevation_unit_system - [in]
|
||||
length unit system for returned value.
|
||||
Returns:
|
||||
Earth location elevation in in elevation_unit_system.
|
||||
Earth location elevation in elevation_unit_system.
|
||||
The value is with
|
||||
Can be ON_UNSET_VALUE
|
||||
*/
|
||||
|
||||
+9
-10
@@ -16,7 +16,7 @@
|
||||
|
||||
/*
|
||||
Description:
|
||||
An ON_Arc is a subcurve of 3d circle.
|
||||
An ON_Arc is a subcurve of a 3d circle.
|
||||
Details:
|
||||
The curve is parameterized by an angle expressed in radians. For an IsValid() arc
|
||||
the total subtended angle AngleRadians() = Domain()(1) - Domain()(0) must satisfy
|
||||
@@ -301,7 +301,7 @@ public:
|
||||
// Description:
|
||||
// Checks an arc to make sure it is valid.
|
||||
// Detail:
|
||||
// Radius>0 and 0<AngleRadians()<=2 ON_PI
|
||||
// Radius>0 and 0<AngleRadians()<=2*ON_PI
|
||||
// Returns:
|
||||
// true if the arc is valid.
|
||||
bool IsValid() const;
|
||||
@@ -410,7 +410,7 @@ public:
|
||||
// Description:
|
||||
// Set arc's domain as a subdomain of the circle.
|
||||
// Parameters:
|
||||
// domain_radian - [in] 0 < domain_radian[1] - domain_radian[0] <= 2.0 * ON*PI
|
||||
// domain_radian - [in] 0 < domain_radian[1] - domain_radian[0] <= 2.0 * ON_PI
|
||||
//
|
||||
bool Trim(
|
||||
ON_Interval domain_radian
|
||||
@@ -508,7 +508,7 @@ public:
|
||||
|
||||
// Description:
|
||||
// Reverse the orientation of the arc. Changes the domain
|
||||
// from [a,b] to [-b.-a].
|
||||
// from [a,b] to [-b,-a].
|
||||
bool Reverse();
|
||||
|
||||
// Description:
|
||||
@@ -528,7 +528,7 @@ public:
|
||||
|
||||
/*
|
||||
Description:
|
||||
Convert a NURBS curve arc parameter to a arc radians parameter.
|
||||
Convert a NURBS curve arc parameter to an arc radians parameter.
|
||||
Parameters:
|
||||
nurbs_parameter - [in]
|
||||
arc_radians_parameter - [out]
|
||||
@@ -540,7 +540,7 @@ public:
|
||||
arc.GetRadianFromNurbFormParameter( nurbs_t, &arc_t );
|
||||
|
||||
ON_NurbsCurve nurbs_curve;
|
||||
arc.GetNurbsForm( nurbs_curve );
|
||||
arc.GetNurbForm( nurbs_curve );
|
||||
arc_pt = arc.PointAt(arc_t);
|
||||
nurbs_pt = nurbs_curve.PointAt(nurbs_t);
|
||||
// arc_pt and nurbs_pt will be the same
|
||||
@@ -561,7 +561,7 @@ public:
|
||||
|
||||
/*
|
||||
Description:
|
||||
Convert a arc radians parameter to a NURBS curve arc parameter.
|
||||
Convert an arc radians parameter to a NURBS curve arc parameter.
|
||||
Parameters:
|
||||
arc_radians_parameter - [in] 0.0 to 2.0*ON_PI
|
||||
nurbs_parameter - [out]
|
||||
@@ -573,7 +573,7 @@ public:
|
||||
arc.GetNurbFormParameterFromRadian( arc_t, &nurbs_t );
|
||||
|
||||
ON_NurbsCurve nurbs_curve;
|
||||
arc.GetNurbsForm( nurbs_curve );
|
||||
arc.GetNurbForm( nurbs_curve );
|
||||
arc_pt = arc.PointAt(arc_t);
|
||||
nurbs_pt = nurbs_curve.PointAt(nurbs_t);
|
||||
// arc_pt and nurbs_pt will be the same
|
||||
@@ -585,7 +585,7 @@ public:
|
||||
parameter and radian parameter are the same. At all other
|
||||
values the nurbs and radian parameter values are different.
|
||||
See Also:
|
||||
ON_Arc::GetNurbFormParameterFromRadian
|
||||
ON_Arc::GetRadianFromNurbFormParameter
|
||||
*/
|
||||
bool GetNurbFormParameterFromRadian(
|
||||
double arc_radians_parameter,
|
||||
@@ -601,4 +601,3 @@ private:
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
+6
-6
@@ -638,7 +638,7 @@ public:
|
||||
0 or the component's unique runtime serial number (ON_ModelComponent::RuntimeSerialNumber()).
|
||||
component_id - [in]
|
||||
component_name_hash - [in]
|
||||
If the the component type requires a unique name and the name
|
||||
If the component type requires a unique name and the name
|
||||
is not valid or in use, the component will not be added.
|
||||
Returns:
|
||||
If an item is added to this manifest, then the identification
|
||||
@@ -668,7 +668,7 @@ public:
|
||||
component_id - [in]
|
||||
If the id is nil or in use, a new id will be assigned.
|
||||
component_name_hash - [in]
|
||||
If the the component type requires a unique name and the name
|
||||
If the component type requires a unique name and the name
|
||||
is not valid or in use, the component will not be added.
|
||||
original_name - [in/out]
|
||||
If a new name needs to be assigned, the input value will be used
|
||||
@@ -1817,7 +1817,7 @@ public:
|
||||
|
||||
/*
|
||||
Returns:
|
||||
True if the the target binary archive is set.
|
||||
True if the target binary archive is set.
|
||||
*/
|
||||
bool BinaryArchiveIsSet() const;
|
||||
|
||||
@@ -3788,7 +3788,7 @@ public:
|
||||
goo_3dm_version and goo_opennurbs_version must also be
|
||||
set. In practice, you should use Write3dmAnonymousUserTableRecord()
|
||||
to handle writing "goo" and use this function only when
|
||||
the plug-in in present.
|
||||
the plug-in present.
|
||||
goo_3dm_version - [in]
|
||||
If bSavingGoo is false, this parameter must be zero and
|
||||
ON_BinaryArchive::Archive3dmVersion() will be used.
|
||||
@@ -3802,7 +3802,7 @@ public:
|
||||
of the opennurbs the plug-in code used to write the
|
||||
user table.
|
||||
Returns:
|
||||
True if the the user information can be written.
|
||||
True if the user information can be written.
|
||||
False if user information should not be written.
|
||||
*/
|
||||
bool BeginWrite3dmUserTable(
|
||||
@@ -4566,7 +4566,7 @@ private:
|
||||
// is zero.
|
||||
//
|
||||
// Read3dmProperties() sets this to the version of OpenNURBS that was
|
||||
// used to write file file. If the file was created using a version
|
||||
// used to write file. If the file was created using a version
|
||||
// of OpenNURBS before 200012210, this number will be zero.
|
||||
//
|
||||
// Write3dmProperties() stores the value returned by ON::Version() in
|
||||
|
||||
+2
-2
@@ -60,7 +60,7 @@ public:
|
||||
Returns:
|
||||
Current value of the callback function for handling
|
||||
the base64 encoded stream. If the callback function is
|
||||
null, the the virtual Out() function is used to
|
||||
null, the virtual Out() function is used to
|
||||
handle the output stream.
|
||||
*/
|
||||
ON_StreamCallbackFunction CallbackFunction() const;
|
||||
@@ -90,7 +90,7 @@ public:
|
||||
Call In() one or more times to base64 encode a stream of bytes.
|
||||
After the last call to In(), call End(). Calling In() will
|
||||
result in at least in_buffer_size/57 and at most
|
||||
(in_buffer_size+56)/57 calls to to the output stream handler.
|
||||
(in_buffer_size+56)/57 calls to the output stream handler.
|
||||
Parameters:
|
||||
in_buffer_size - [in]
|
||||
number of bytes in in_buffer
|
||||
|
||||
+4
-4
@@ -537,7 +537,7 @@ public:
|
||||
|
||||
/*
|
||||
Description:
|
||||
Get the the 3d plane containing the profile curve at a
|
||||
Get the 3d plane containing the profile curve at a
|
||||
normalized path parameter.
|
||||
Parameters:
|
||||
s - [in] 0.0 = starting plane
|
||||
@@ -558,7 +558,7 @@ public:
|
||||
|
||||
/*
|
||||
Description:
|
||||
Get the the 3d plane perpendicular to the path at a
|
||||
Get the 3d plane perpendicular to the path at a
|
||||
normalized path parameter.
|
||||
Parameters:
|
||||
s - [in] 0.0 = starting plane
|
||||
@@ -795,7 +795,7 @@ public:
|
||||
Test a polycurve to determine if it meets the necessary
|
||||
conditions to be used as a multi-segment profile in a extrusion.
|
||||
Returns:
|
||||
True if the returned polycurve can be used a a multi-segment
|
||||
True if the returned polycurve can be used as a multi-segment
|
||||
profile in a extrusion.
|
||||
*/
|
||||
static bool IsValidPolyCurveProfile( const ON_PolyCurve& polycurve, ON_TextLog* text_log = 0 );
|
||||
@@ -805,7 +805,7 @@ public:
|
||||
If possible, modify a polycurve so it meets the necessary conditions
|
||||
to be used as a multi-segment profile in a extrusion.
|
||||
Returns:
|
||||
True if the returned polycurve can be used a a multi-segment
|
||||
True if the returned polycurve can be used as a multi-segment
|
||||
profile in a extrusion.
|
||||
*/
|
||||
static bool CleanupPolyCurveProfile( ON_PolyCurve& polycurve );
|
||||
|
||||
@@ -361,7 +361,7 @@ public:
|
||||
d - [in] distance (> 0.0)
|
||||
P - [in]
|
||||
Returns:
|
||||
True if if the shortest distance from the point P
|
||||
True if the shortest distance from the point P
|
||||
to the bounding box is greater than d.
|
||||
*/
|
||||
bool IsFartherThan( double d, const ON_3dPoint& P ) const;
|
||||
@@ -419,7 +419,7 @@ public:
|
||||
d - [in] distance (> 0.0)
|
||||
other - [in] other bounding box
|
||||
Returns:
|
||||
True if if the shortest distance from this bounding
|
||||
True if the shortest distance from this bounding
|
||||
box to the other bounding box is greater than d.
|
||||
*/
|
||||
bool IsFartherThan( double d, const ON_BoundingBox& other ) const;
|
||||
|
||||
+2
-2
@@ -57,7 +57,7 @@ public:
|
||||
ON_3dPoint test_point
|
||||
) const;
|
||||
|
||||
// rotate sphere about its origin
|
||||
// rotate box about its origin
|
||||
bool Rotate(
|
||||
double sin_angle, // sin(angle)
|
||||
double cos_angle, // cos(angle)
|
||||
@@ -69,7 +69,7 @@ public:
|
||||
const ON_3dVector& axis_of_rotation // axis of rotation
|
||||
);
|
||||
|
||||
// rotate sphere about a point and axis
|
||||
// rotate box about a point and axis
|
||||
bool Rotate(
|
||||
double sin_angle, // sin(angle)
|
||||
double cos_angle, // cos(angle)
|
||||
|
||||
+13
-13
@@ -166,7 +166,7 @@ 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 the
|
||||
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.
|
||||
|
||||
@@ -352,7 +352,7 @@ public:
|
||||
// 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 edge ending at the vertex.
|
||||
// is for the closed edge ending at the vertex.
|
||||
// C.f. ON_Brep::Next/PrevEdge().
|
||||
int m_vi[2];
|
||||
|
||||
@@ -395,7 +395,7 @@ Description:
|
||||
Brep trim information is stored in ON_BrepTrim classes.
|
||||
ON_Brep.m_T[] is an array of all the trim in the brep.
|
||||
|
||||
An ON_BrepTrim is derived from ON_CurveProxy so the the
|
||||
An ON_BrepTrim is derived from ON_CurveProxy so the
|
||||
trim can supply easy to use evaluation tools via
|
||||
the ON_Curve virtual member functions.
|
||||
|
||||
@@ -2358,7 +2358,7 @@ public:
|
||||
surface must be an ON_PlaneSurface.
|
||||
loop_type - [in] type of loop to add. If loop_type is
|
||||
ON_BrepLoop::unknown, then the loop direction is tested
|
||||
and the the new loops type will be set to
|
||||
and the new loops type will be set to
|
||||
ON_BrepLoop::outer or ON_BrepLoop::inner. If the loop_type
|
||||
is ON_BrepLoop::outer, then the direction of the new loop
|
||||
is tested and flipped if it is clockwise. If the loop_type
|
||||
@@ -2778,7 +2778,7 @@ public:
|
||||
Set the loop parameter space bounding box (loop.m_pbox).
|
||||
Parameters:
|
||||
loop - [in]
|
||||
bLazy - [in] if true and loop trim trim.m_pbox is valid,
|
||||
bLazy - [in] if true and loop trim.m_pbox is valid,
|
||||
then that trim.m_pbox is not recalculated.
|
||||
Returns:
|
||||
true if loop ends up with a valid bounding box.
|
||||
@@ -2793,7 +2793,7 @@ public:
|
||||
for every loop and trim in the face
|
||||
Parameters:
|
||||
face - [in]
|
||||
bLazy - [in] if true and trim trim.m_pbox is valid,
|
||||
bLazy - [in] if true and trim.m_pbox is valid,
|
||||
then that trim.m_pbox is not recalculated.
|
||||
Returns:
|
||||
true if all the face's loop and trim parameter space bounding
|
||||
@@ -2807,7 +2807,7 @@ public:
|
||||
Set the loop and trim parameter space bounding boxes
|
||||
for every loop and trim in the brep.
|
||||
Parameters:
|
||||
bLazy - [in] if true and trim trim.m_pbox is valid,
|
||||
bLazy - [in] if true and trim.m_pbox is valid,
|
||||
then that trim.m_pbox is not recalculated.
|
||||
Returns:
|
||||
true if all the loop and trim parameter space bounding boxes
|
||||
@@ -3230,7 +3230,7 @@ public:
|
||||
/*
|
||||
Description:
|
||||
Set m_vertex_user.i, m_edge_user.i, m_face_user.i, m_loop_user.i,
|
||||
and m_trim_user.i values values to distinguish connected components.
|
||||
and m_trim_user.i values to distinguish connected components.
|
||||
Parameters:
|
||||
Returns:
|
||||
number of connected components
|
||||
@@ -3319,7 +3319,7 @@ public:
|
||||
// Single face brep.
|
||||
// Remarks:
|
||||
// The m_vertex_user.i, m_edge_user.i, m_face_user.i, m_loop_user.i,
|
||||
// and m_trim_user.i values of the returned brep are are set to the
|
||||
// and m_trim_user.i values of the returned brep are set to the
|
||||
// indices of the objects they duplicate.
|
||||
// See Also:
|
||||
// ON_Brep::DeleteFace, ON_Brep::ExtractFace
|
||||
@@ -3329,7 +3329,7 @@ public:
|
||||
) const;
|
||||
|
||||
// Description:
|
||||
// Duplicate a a subset of a brep
|
||||
// Duplicate a subset of a brep
|
||||
// Parameters:
|
||||
// face_count - [in] length of face_index[] array
|
||||
// face_index - [in] array of face indices
|
||||
@@ -3338,7 +3338,7 @@ public:
|
||||
// A brep made by duplicating the faces listed in the face_index[] array.
|
||||
// Remarks:
|
||||
// The m_vertex_user.i, m_edge_user.i, m_face_user.i, m_loop_user.i,
|
||||
// and m_trim_user.i values of the returned brep are are set to the
|
||||
// and m_trim_user.i values of the returned brep are set to the
|
||||
// indices of the objects they duplicate.
|
||||
// See Also:
|
||||
// ON_Brep::DuplicateFace
|
||||
@@ -4072,7 +4072,7 @@ public:
|
||||
|
||||
// topology
|
||||
// (all topology is deleted by ~ON_Brep(). Objects can be unreferenced.
|
||||
// Use Compact() to to remove unreferenced geometry.
|
||||
// Use Compact() to remove unreferenced geometry.
|
||||
ON_BrepVertexArray m_V; // vertices
|
||||
ON_BrepEdgeArray m_E; // edges
|
||||
ON_BrepTrimArray m_T; // trims
|
||||
@@ -4116,7 +4116,7 @@ public:
|
||||
|
||||
private:
|
||||
// In calculations where multiple threads are using a brep and calling functions
|
||||
// that may modify content, the calling code can use use ON_SleepLockGuard guard(Mutex)
|
||||
// that may modify content, the calling code can use ON_SleepLockGuard guard(Mutex)
|
||||
// or similar techniques to make the calculations thread safe.
|
||||
// Because Mutex is a public resource, it must be used with great care to
|
||||
// prevent lock contention.
|
||||
|
||||
+11
-12
@@ -18,10 +18,10 @@ class ON_NurbsCurve;
|
||||
|
||||
/*
|
||||
Description:
|
||||
ON_Circle is a circle in 3d. The circle is represented by a radius and an
|
||||
orthonormal frame of the plane containing the circle, with origin at the center.
|
||||
ON_Circle is a circle in 3d. The circle is represented by a radius and an
|
||||
orthonormal frame of the plane containing the circle, with origin at the center.
|
||||
|
||||
An Is_Valid() circle has positive radius and an Is_ Valid() plane defining the frame.
|
||||
An IsValid() circle has positive radius and an IsValid() plane defining the frame.
|
||||
|
||||
The circle is parameterized by radians from 0 to 2 Pi given by
|
||||
t -> center + cos(t)*radius*xaxis + sin(t)*radius*yaxis
|
||||
@@ -94,7 +94,7 @@ public:
|
||||
);
|
||||
|
||||
// Creates a circle parallel to the plane
|
||||
// with given centr and radius.
|
||||
// with given center and radius.
|
||||
bool Create(
|
||||
const ON_Plane& plane,
|
||||
const ON_3dPoint& center,
|
||||
@@ -158,11 +158,11 @@ public:
|
||||
tight_bbox - [in/out] tight bounding box
|
||||
bGrowBox -[in] (default=false)
|
||||
If true and the input tight_bbox is valid, then returned
|
||||
tight_bbox is the union of the input tight_bbox and the
|
||||
arc's tight bounding box.
|
||||
tight_bbox is the union of the input tight_bbox and the
|
||||
circle's tight bounding box.
|
||||
xform -[in] (default=nullptr)
|
||||
If not nullptr, the tight bounding box of the transformed
|
||||
arc is calculated. The arc is not modified.
|
||||
circle is calculated. The circle is not modified.
|
||||
Returns:
|
||||
True if a valid tight_bbox is returned.
|
||||
*/
|
||||
@@ -266,7 +266,7 @@ public:
|
||||
circle.GetRadianFromNurbFormParameter( nurbs_t, &circle_t );
|
||||
|
||||
ON_NurbsCurve nurbs_curve;
|
||||
circle.GetNurbsForm( nurbs_curve );
|
||||
circle.GetNurbForm( nurbs_curve );
|
||||
circle_pt = circle.PointAt(circle_t);
|
||||
nurbs_pt = nurbs_curve.PointAt(nurbs_t);
|
||||
// circle_pt and nurbs_pt will be the same
|
||||
@@ -299,7 +299,7 @@ public:
|
||||
circle.GetNurbFormParameterFromRadian( circle_t, &nurbs_t );
|
||||
|
||||
ON_NurbsCurve nurbs_curve;
|
||||
circle.GetNurbsForm( nurbs_curve );
|
||||
circle.GetNurbForm( nurbs_curve );
|
||||
circle_pt = circle.PointAt(circle_t);
|
||||
nurbs_pt = nurbs_curve.PointAt(nurbs_t);
|
||||
// circle_pt and nurbs_pt will be the same
|
||||
@@ -311,7 +311,7 @@ public:
|
||||
parameter and radian parameter are the same. At all other
|
||||
values the nurbs and radian parameter values are different.
|
||||
See Also:
|
||||
ON_Circle::GetNurbFormParameterFromRadian
|
||||
ON_Circle::GetRadianFromNurbFormParameter
|
||||
*/
|
||||
bool GetNurbFormParameterFromRadian(
|
||||
double circle_radians_parameter,
|
||||
@@ -321,5 +321,4 @@ public:
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -60,7 +60,7 @@ public:
|
||||
Returns:
|
||||
Current value of the callback function for handling
|
||||
the compressed stream. If the callback function is
|
||||
null, the the virtual Out() function is used to
|
||||
null, the virtual Out() function is used to
|
||||
handle
|
||||
*/
|
||||
ON_StreamCallbackFunction CallbackFunction() const;
|
||||
@@ -237,7 +237,7 @@ public:
|
||||
Returns:
|
||||
Current value of the callback function for handling
|
||||
the uncompressed stream. If the callback function is
|
||||
null, the the virtual UncompressedStreamOut() function
|
||||
null, the virtual UncompressedStreamOut() function
|
||||
is used.
|
||||
*/
|
||||
ON_StreamCallbackFunction CallbackFunction() const;
|
||||
|
||||
+3
-3
@@ -77,7 +77,7 @@ public:
|
||||
double AngleInRadians() const;
|
||||
|
||||
// Returns:
|
||||
// The angle Iin degrees) between the axis and the side.
|
||||
// The angle (in degrees) between the axis and the side.
|
||||
// The angle and the height have the same sign.
|
||||
double AngleInDegrees() const;
|
||||
|
||||
@@ -169,11 +169,11 @@ public:
|
||||
|
||||
/*
|
||||
Description:
|
||||
Creates a surface of revolution definition of the cylinder.
|
||||
Creates a surface of revolution definition of the cone.
|
||||
Parameters:
|
||||
srf - [in] if not nullptr, then this srf is used.
|
||||
Result:
|
||||
A surface of revolution or nullptr if the cylinder is not
|
||||
A surface of revolution or nullptr if the cone is not
|
||||
valid or is infinite.
|
||||
*/
|
||||
ON_RevSurface* RevSurfaceForm( ON_RevSurface* srf = nullptr ) const;
|
||||
|
||||
+1
-1
@@ -961,7 +961,7 @@ public:
|
||||
Returns
|
||||
true if the span is a non-degenerate line. This means:
|
||||
- dimension = 2 or 3
|
||||
- The length of the the line segment from the span's initial
|
||||
- The length of the line segment from the span's initial
|
||||
point to the span's control point is >= min_length.
|
||||
- The maximum distance from the line segment to the span
|
||||
is <= tolerance and the span increases monotonically
|
||||
|
||||
@@ -703,7 +703,7 @@ public:
|
||||
model_component - [in]
|
||||
A copy of model_component is added to this model.
|
||||
The index, id, and name of the copied component are
|
||||
set the the model values (Manifest() "Manifest" index, name, and id).
|
||||
set the model values (Manifest() "Manifest" index, name, and id).
|
||||
|
||||
bResolveIdAndNameConflicts - [in]
|
||||
If bResolveIdAndNameConflicts is false, then model_component.Id() must be non-nil
|
||||
@@ -968,7 +968,7 @@ public:
|
||||
If true, attributes should be nullptr or point to an instance created by operator new and on the heap.
|
||||
It will be deleted when the this ONX_Model and the last ON_ModelComponentReference are destroyed.
|
||||
If false, the expert caller is carefully managing the instance and memory to insure
|
||||
attributes is a valid instance while this ONX_Model and and ON_ModelComponentReference
|
||||
attributes is a valid instance while this ONX_Model and ON_ModelComponentReference
|
||||
are active.
|
||||
|
||||
attributes - [in]
|
||||
|
||||
@@ -821,7 +821,7 @@ public:
|
||||
fp - [in]
|
||||
FILE pointer returned by ON_FileStream::Open().
|
||||
file_size - [out]
|
||||
If file_size is not null, the the size of the file
|
||||
If file_size is not null, the size of the file
|
||||
in bytes returned here
|
||||
file_metadata_last_modified_time - [out]
|
||||
If file_metadata_last_modified_time is not null, then the time the
|
||||
|
||||
+14
-14
@@ -1959,7 +1959,7 @@ public:
|
||||
/*
|
||||
Description:
|
||||
This is a debugging tool to test the code that starts with a font and
|
||||
Unicode code point and and finds a glyph in the font definition for
|
||||
Unicode code point and finds a glyph in the font definition for
|
||||
that code point.
|
||||
Parameters:
|
||||
text_log - [in]
|
||||
@@ -5271,7 +5271,7 @@ public:
|
||||
|
||||
Currently opennurbs and Rhino work on Microsoft Windows and Apple
|
||||
platforms and use FreeType to access font information. When a font
|
||||
is not "tricky", the "font design" units are the the units FreeType
|
||||
is not "tricky", the "font design" units are the units FreeType
|
||||
uses when a font is loaded with FT_LOAD_NO_SCALE.
|
||||
|
||||
When working with fonts and glyhphs in opennurbs and Rhino,
|
||||
@@ -6333,10 +6333,10 @@ public:
|
||||
of the three names, postscript_name, windows_logfont_name,
|
||||
or family_name.
|
||||
|
||||
prefered_face_name - [in]
|
||||
prefered_weight - [in]
|
||||
prefered_stretch - [in]
|
||||
prefered_style - [in]
|
||||
preferred_face_name - [in]
|
||||
preferred_weight - [in]
|
||||
preferred_stretch - [in]
|
||||
preferred_style - [in]
|
||||
Preferred font properties.
|
||||
|
||||
bRequireFaceMatch - [in]
|
||||
@@ -6345,8 +6345,8 @@ public:
|
||||
or the family and face name pair.
|
||||
|
||||
bRequireStyleMatch - [in]
|
||||
If true and prefered_stretch is not unset, then the returned
|
||||
font will have prefered_style
|
||||
If true and preferred_stretch is not unset, then the returned
|
||||
font will have preferred_style
|
||||
Remarks:
|
||||
Ignores underlined, strikethrough, and point size settings when looking for a match.
|
||||
*/
|
||||
@@ -6371,10 +6371,10 @@ public:
|
||||
of the three names, postscript_name, windows_logfont_name,
|
||||
or family_name.
|
||||
|
||||
prefered_face_name - [in]
|
||||
prefered_weight - [in]
|
||||
prefered_stretch - [in]
|
||||
prefered_style - [in]
|
||||
preferred_face_name - [in]
|
||||
preferred_weight - [in]
|
||||
preferred_stretch - [in]
|
||||
preferred_style - [in]
|
||||
Preferred font properties.
|
||||
|
||||
bRequireFaceMatch - [in]
|
||||
@@ -6383,8 +6383,8 @@ public:
|
||||
or the family and face name pair.
|
||||
|
||||
bRequireStyleMatch - [in]
|
||||
If true and prefered_stretch is not unset, then the returned
|
||||
font will have prefered_style
|
||||
If true and preferred_stretch is not unset, then the returned
|
||||
font will have preferred_style
|
||||
|
||||
bUnderlined - [in]
|
||||
Exact match required.
|
||||
|
||||
@@ -75,7 +75,7 @@ public:
|
||||
|
||||
/*
|
||||
Description:
|
||||
Update the mapping from from reference file layer id to runtime model layer id.
|
||||
Update the mapping from reference file layer id to runtime model layer id.
|
||||
Typically this is done immediately after the reference file layers are added
|
||||
to the runtime model.
|
||||
Parameters:
|
||||
|
||||
+1
-1
@@ -427,7 +427,7 @@ public:
|
||||
|
||||
/*
|
||||
Description:
|
||||
Controls layer visibility in in model viewports.
|
||||
Controls layer visibility in model viewports.
|
||||
Parameters:
|
||||
bVisible - [in] true to make layer visible,
|
||||
false to make layer invisible
|
||||
|
||||
+1
-1
@@ -272,7 +272,7 @@ Returns:
|
||||
P - [in]
|
||||
L - [in]
|
||||
Returns:
|
||||
True if if the shortest distance from this line
|
||||
True if the shortest distance from this line
|
||||
to the other object is greater than d.
|
||||
*/
|
||||
bool IsFartherThan( double d, const ON_3dPoint& P ) const;
|
||||
|
||||
@@ -66,7 +66,7 @@ public:
|
||||
|
||||
// For Rhino V4 the per detail visibility attribute is implemented
|
||||
// through a display material reference on an object. This is ONLY
|
||||
// for for detail viewports and only for V4. Keep this uuid around
|
||||
// for detail viewports and only for V4. Keep this uuid around
|
||||
// so the per detail attributes in future versions of Rhino can be
|
||||
// implemented a different way.
|
||||
// {1403A7E4-E7AD-4a01-A2AA-41DAE6BE7ECB}
|
||||
|
||||
+1
-1
@@ -45,7 +45,7 @@ public:
|
||||
/*
|
||||
Returns:
|
||||
Current lock value
|
||||
ON_Lock::UnlockedValue indicates the the resource protected by the lock is available.
|
||||
ON_Lock::UnlockedValue indicates the resource protected by the lock is available.
|
||||
*/
|
||||
int IsLocked();
|
||||
|
||||
|
||||
@@ -432,7 +432,7 @@ public:
|
||||
-1 is returned, otherwise, the search begins
|
||||
at m_textures[i0+1].
|
||||
Example:
|
||||
Iterate through all the the bitmap textures on
|
||||
Iterate through all the bitmap textures on
|
||||
a material.
|
||||
|
||||
ON_Material& mat = ...;
|
||||
|
||||
+1
-1
@@ -934,7 +934,7 @@ Returns:
|
||||
nullptr is returned.
|
||||
Remarks:
|
||||
The ids are invariant under invertable transformations.
|
||||
Specifically, if one point point set is a rotation of another, then
|
||||
Specifically, if one point set is a rotation of another, then
|
||||
the assigned ids will be the same.
|
||||
*/
|
||||
ON_DECL
|
||||
|
||||
+9
-9
@@ -1021,7 +1021,7 @@ public:
|
||||
// or application defaults.
|
||||
//
|
||||
// When CustomSettings() is false, it indicates these mesh
|
||||
// creation parameters were inherited from from model or
|
||||
// creation parameters were inherited from model or
|
||||
// application defaults and any mesh created with these
|
||||
// parameters should be updated when these parameters
|
||||
// differ from the current model or application defaults.
|
||||
@@ -2380,7 +2380,7 @@ Returns:
|
||||
mesh face vertex indices.
|
||||
If "f" is an ON_MeshFace, then pass (const unsigned int*)f.vi.
|
||||
Returns:
|
||||
If the input is valid, the returned ngon pointer is is the
|
||||
If the input is valid, the returned ngon pointer is the
|
||||
face's triangle or quad. All returned information is in the
|
||||
buffer[].
|
||||
null - invalid input.
|
||||
@@ -3113,7 +3113,7 @@ public:
|
||||
|
||||
// The m_mapping_crc is a CRC of a SHA1 hash of the parameters used in
|
||||
// the calculation to set the current texture coordinates and/or vertex colors.
|
||||
// This CRC is used to detect when the the texture coordinates and/or false colors need to be updated.
|
||||
// This CRC is used to detect when the texture coordinates and/or false colors need to be updated.
|
||||
// (Saving the SHA1 hash itself would be better, but changing m_mapping_crc to a SHA1 hash would break the SDK.)
|
||||
//
|
||||
// When m_mapping_id = ON_nil_uuid and m_mapping_type = ON_TextureMapping::TYPE::no_mapping,
|
||||
@@ -3282,7 +3282,7 @@ public:
|
||||
bool IsUnset() const;
|
||||
|
||||
/// <summary>
|
||||
/// Get the color the the settings in this ON_SurfaceCurvatureColorMapping assign
|
||||
/// Get the color the settings in this ON_SurfaceCurvatureColorMapping assign
|
||||
/// to a pair of principal surface curvatures.
|
||||
/// </summary>
|
||||
/// <param name="K">
|
||||
@@ -3465,7 +3465,7 @@ public:
|
||||
bool IsUnset() const;
|
||||
|
||||
/// <summary>
|
||||
/// Get the color the the settings in this ON_SurfaceDraftAngleColorMapping assign
|
||||
/// Get the color the settings in this ON_SurfaceDraftAngleColorMapping assign
|
||||
/// to a surface normal.
|
||||
/// </summary>
|
||||
/// <param name="surface_normal">
|
||||
@@ -6085,7 +6085,7 @@ The map is an array of length m_F.Count(), ngon_map[]
|
||||
// m_packed_tex_domain[] are all valid and the texture
|
||||
// coordinates are based on surface evaluation parameters.
|
||||
// In this special situation, this boolean records the
|
||||
// correspondence between the the surface parameters, (u,v),
|
||||
// correspondence between the surface parameters, (u,v),
|
||||
// and the packed texture coordinates, (s,t),
|
||||
//
|
||||
// m_packed_tex_rotate = false:
|
||||
@@ -6602,7 +6602,7 @@ public:
|
||||
triangles, quads and explicitly defined ngons.
|
||||
Remarks:
|
||||
If CurrentNgonIsMeshFace() is true after calling FirstNgon().
|
||||
the the returned ngon references a triangle or
|
||||
the returned ngon references a triangle or
|
||||
quad that is not part of an explicitly defined
|
||||
ngon in the mesh. If you need the information
|
||||
to persist after any subsequent calls to the iterator
|
||||
@@ -6619,7 +6619,7 @@ public:
|
||||
triangles, quads and explicitly defined ngons.
|
||||
Remarks:
|
||||
If CurrentNgonIsMeshFace() is true after calling NextNgon().
|
||||
the the returned ngon references a triangle or
|
||||
the returned ngon references a triangle or
|
||||
quad that is not part of an explicitly defined
|
||||
ngon in the mesh. If you need the information
|
||||
to persist after any subsequent calls to the iterator
|
||||
@@ -6637,7 +6637,7 @@ public:
|
||||
or NextNgon().
|
||||
Remarks:
|
||||
If CurrentNgonIsMeshFace() is true after calling CurrentNgon().
|
||||
the the returned ngon references a triangle or
|
||||
the returned ngon references a triangle or
|
||||
quad that is not part of an explicitly defined
|
||||
ngon in the mesh. If you need the information
|
||||
to persist after any subsequent calls to the iterator
|
||||
|
||||
@@ -446,7 +446,7 @@ public:
|
||||
/*
|
||||
Returns:
|
||||
When a component is in a model as part of the information required
|
||||
for a linked instance definition, this value identifies the the linked
|
||||
for a linked instance definition, this value identifies the linked
|
||||
instance definition reference model.
|
||||
Remarks:
|
||||
Reference components are not saved in .3dm archives.
|
||||
|
||||
@@ -563,7 +563,7 @@ public:
|
||||
true if the span is a non-degenerate line. This means:
|
||||
- dimension = 2 or 3
|
||||
- There are full multiplicity knots at each end of the span.
|
||||
- The length of the the line segment from the span's initial
|
||||
- The length of the line segment from the span's initial
|
||||
control point to the span's final control point is
|
||||
>= min_length.
|
||||
- The distance from the line segment to the interior control points
|
||||
|
||||
@@ -205,7 +205,7 @@ public:
|
||||
2 = north east,
|
||||
3 = north west
|
||||
point - [in] point to collapse to. If point is ON_3dPoint::UnsetPoint,
|
||||
the the current location of the start of the side
|
||||
the current location of the start of the side
|
||||
is used.
|
||||
Returns:
|
||||
True if successful.
|
||||
@@ -295,7 +295,7 @@ public:
|
||||
be created if the 3d surface where flattened into a rectangle.
|
||||
Parameters:
|
||||
width - [out] (corresponds to the first surface parameter)
|
||||
height - [out] (corresponds to the first surface parameter)
|
||||
height - [out] (corresponds to the second surface parameter)
|
||||
Remarks:
|
||||
overrides virtual ON_Surface::GetSurfaceSize
|
||||
Returns:
|
||||
@@ -570,7 +570,7 @@ public:
|
||||
int dir = 1;
|
||||
ON_NurbsSurface* south_side = 0;
|
||||
ON_NurbsSurface* north_side = 0;
|
||||
srf.Split( dir, srf.Domain(dir).Mid() south_side, north_side );
|
||||
srf.Split( dir, srf.Domain(dir).Mid(), south_side, north_side );
|
||||
|
||||
*/
|
||||
bool Split(
|
||||
@@ -762,7 +762,7 @@ public:
|
||||
/// control point is active.
|
||||
/// </summary>
|
||||
/// <param name="dir">
|
||||
/// 0: first surface paramter
|
||||
/// 0: first surface parameter
|
||||
/// 1: second surface parameter
|
||||
/// </param>
|
||||
/// <param name="control_point_index">
|
||||
@@ -773,7 +773,7 @@ public:
|
||||
/// then the spans in the specified parameter direction whose index satisfies
|
||||
/// ON_2dex.i <= span_index < ON_2dex.j
|
||||
/// use the specified control points.
|
||||
/// If the iput is not valid, then ON_2dex(0,0) is returned.
|
||||
/// If the input is not valid, then ON_2dex(0,0) is returned.
|
||||
/// </returns>
|
||||
const ON_2dex ControlPointSpans(
|
||||
int dir,
|
||||
@@ -789,7 +789,7 @@ public:
|
||||
/// is false, then surface->PointAt(u,v) does not depend on the location of CV(i,j).
|
||||
/// </summary>
|
||||
/// <param name="dir">
|
||||
/// 0: first surface paramter
|
||||
/// 0: first surface parameter
|
||||
/// 1: second surface parameter
|
||||
/// </param>
|
||||
/// <param name="control_point_index">
|
||||
|
||||
+1
-1
@@ -90,7 +90,7 @@ public:
|
||||
//
|
||||
// 9: A SubD component parameter.
|
||||
// m_t_ci identifies the SubD component.
|
||||
// m_t[], m_s[], are used to encode a collection of indicies and doubles
|
||||
// m_t[], m_s[], are used to encode a collection of indices and doubles
|
||||
// that depend on the SubD component type.
|
||||
// Use the SetFromSubDComponentParameter() and GetSubDComponentParameter()
|
||||
// to convert between ON_ObjRefEvaluationParameter
|
||||
|
||||
+3
-3
@@ -1860,7 +1860,7 @@ public:
|
||||
id is used to resolve ambiguous unit names.
|
||||
|
||||
Parameters:
|
||||
prefered_locale_id - [in]
|
||||
preferred_locale_id - [in]
|
||||
The Microsoft locale id that identifies the locale that should
|
||||
be used to resolve ambiguous parsing situations. The default
|
||||
value is zero, which means ambiguous situations are not parsed.
|
||||
@@ -2197,7 +2197,7 @@ Parameters:
|
||||
be a null, digit, punctuation, arithmetic operator, or a unicode
|
||||
code point <= 0x0020 (0x0020 = space = 32 decimal).
|
||||
|
||||
prefered_locale_id - [in]
|
||||
preferred_locale_id - [in]
|
||||
If the parsed length unit name identifies different length unit systems
|
||||
in different locales, then this value is used to resolve the
|
||||
ambiguity. A list of Microsoft locale id values can be found at
|
||||
@@ -2364,7 +2364,7 @@ Parameters:
|
||||
This character can be a null, digit, punctuation, arithmetic operator,
|
||||
or a unicode code point <= 0x0020 (0x0020 = space = 32 decimal).
|
||||
|
||||
prefered_locale_id - [in]
|
||||
preferred_locale_id - [in]
|
||||
If the parsed angle unit name identifies different angle unit systems
|
||||
in different locales, then this value is used to resolve the
|
||||
ambiguity. A list of Microsoft locale id values can be found at
|
||||
|
||||
+2
-2
@@ -593,7 +593,7 @@ public:
|
||||
double Depth() const;
|
||||
|
||||
// Negative depth values are currently not allowed. If a negative depth value
|
||||
// is passed to this function, it will not the the internal depth value
|
||||
// is passed to this function, it will not the internal depth value
|
||||
void SetDepth(double depth);
|
||||
|
||||
// Default is false
|
||||
@@ -651,7 +651,7 @@ public:
|
||||
double Depth() const;
|
||||
|
||||
// Negative depth values are currently not allowed. If a negative depth value
|
||||
// is passed to this function, it will not the the internal depth value
|
||||
// is passed to this function, it will not the internal depth value
|
||||
void SetDepth(double depth);
|
||||
|
||||
// Default is false
|
||||
|
||||
+3
-3
@@ -104,7 +104,7 @@ public:
|
||||
) const;
|
||||
|
||||
/// <summary>
|
||||
/// Convert a a pair of normalized parameter values to
|
||||
/// Convert a pair of normalized parameter values to
|
||||
/// a pair of interval values.
|
||||
/// This interval can be increasing, decreasing, or a singleton.
|
||||
/// </summary>
|
||||
@@ -199,7 +199,7 @@ public:
|
||||
/// <param name="t">Input parameter</param>
|
||||
/// <returns>
|
||||
/// The input parameter in the target interval.
|
||||
/// Returns input paramter unchanged if both intervals are identical.
|
||||
/// Returns input parameter unchanged if both intervals are identical.
|
||||
/// Returns ON_DBL_QNAN if either interval is not valid.
|
||||
/// </returns>
|
||||
double TransformParameterTo(const ON_Interval& target, double t) const;
|
||||
@@ -2482,7 +2482,7 @@ public:
|
||||
/// </summary>
|
||||
/// <param name="kappa_style">
|
||||
/// Specifies which type curvature (Gaussian, mean, ...) value to calculate from the principal curvatures.
|
||||
/// The Gausian curvature can be positive or negative. The other curvatures are are >= 0.
|
||||
/// The Gausian curvature can be positive or negative. The other curvatures are >= 0.
|
||||
/// In particular, ON::curvature_style::mean_curvature return fabs(this->MeanCurvature()).
|
||||
/// </param>
|
||||
/// <returns>
|
||||
|
||||
+11
-11
@@ -6,7 +6,7 @@
|
||||
|
||||
// To update version numbers, edit ..\build\build_dates.msbuild
|
||||
#define RMA_VERSION_MAJOR 8
|
||||
#define RMA_VERSION_MINOR 33
|
||||
#define RMA_VERSION_MINOR 34
|
||||
|
||||
////////////////////////////////////////////////////////////////
|
||||
//
|
||||
@@ -14,9 +14,9 @@
|
||||
// first step in each build.
|
||||
//
|
||||
#define RMA_VERSION_YEAR 2026
|
||||
#define RMA_VERSION_MONTH 7
|
||||
#define RMA_VERSION_DATE 7
|
||||
#define RMA_VERSION_HOUR 13
|
||||
#define RMA_VERSION_MONTH 8
|
||||
#define RMA_VERSION_DATE 11
|
||||
#define RMA_VERSION_HOUR 11
|
||||
#define RMA_VERSION_MINUTE 0
|
||||
|
||||
////////////////////////////////////////////////////////////////
|
||||
@@ -35,8 +35,8 @@
|
||||
// 3 = build system release build
|
||||
#define RMA_VERSION_BRANCH 0
|
||||
|
||||
#define VERSION_WITH_COMMAS 8,33,26188,13000
|
||||
#define VERSION_WITH_PERIODS 8.33.26188.13000
|
||||
#define VERSION_WITH_COMMAS 8,34,26223,11000
|
||||
#define VERSION_WITH_PERIODS 8.34.26223.11000
|
||||
#define COPYRIGHT "Copyright (C) 1993-2026, Robert McNeel & Associates. All Rights Reserved."
|
||||
#define SPECIAL_BUILD_DESCRIPTION "Public OpenNURBS C++ 3dm file IO library."
|
||||
|
||||
@@ -44,11 +44,11 @@
|
||||
#define RMA_VERSION_NUMBER_MAJOR_WSTRING L"8"
|
||||
#define RMA_PREVIOUS_VERSION_NUMBER_MAJOR_WSTRING L"7"
|
||||
|
||||
#define RMA_VERSION_NUMBER_SR_STRING "SR33"
|
||||
#define RMA_VERSION_NUMBER_SR_WSTRING L"SR33"
|
||||
#define RMA_VERSION_NUMBER_SR_STRING "SR34"
|
||||
#define RMA_VERSION_NUMBER_SR_WSTRING L"SR34"
|
||||
|
||||
#define RMA_VERSION_WITH_PERIODS_STRING "8.33.26188.13000"
|
||||
#define RMA_VERSION_WITH_PERIODS_WSTRING L"8.33.26188.13000"
|
||||
#define RMA_VERSION_WITH_PERIODS_STRING "8.34.26223.11000"
|
||||
#define RMA_VERSION_WITH_PERIODS_WSTRING L"8.34.26223.11000"
|
||||
|
||||
|
||||
|
||||
@@ -71,7 +71,7 @@
|
||||
#if defined(_WIN32) || defined(WIN32) || defined(_WIN64) || defined(WIN64) || defined(WINDOWS) || defined(_WINDOWS_) || defined(__WINDOWS__)
|
||||
#if !defined(VS_FF_PRERELEASE)
|
||||
// At this time, verrsrc.h does not have protection against multiple includes.
|
||||
// Testing for VS_FF_PRERELEASE seems to prevent double incudes and the
|
||||
// Testing for VS_FF_PRERELEASE seems to prevent double includes and the
|
||||
// redef errors it generates.
|
||||
#include "verrsrc.h"
|
||||
#endif
|
||||
|
||||
@@ -501,7 +501,7 @@ bool ON_Quaternion::Unitize()
|
||||
}
|
||||
else if ( x > 0.0 )
|
||||
{
|
||||
ON_Quaternion q(a*1.0e300,b*1.0e300,c*1.0e300,c*1.0e300);
|
||||
ON_Quaternion q(a*1.0e300,b*1.0e300,c*1.0e300,d*1.0e300);
|
||||
if ( !q.Unitize() )
|
||||
return false;
|
||||
a = q.a;
|
||||
|
||||
@@ -225,7 +225,7 @@ public:
|
||||
plane0 - [in]
|
||||
plane1 - [in]
|
||||
Returns:
|
||||
The unit quaternion that represents the the rotation that maps
|
||||
The unit quaternion that represents the rotation that maps
|
||||
plane0.xaxis to plane1.xaxis,
|
||||
plane0.yaxis to plane1.yaxis, and
|
||||
plane0.zaxis to plane1.zaxis.
|
||||
@@ -307,7 +307,7 @@ public:
|
||||
where R_*(angle) is rotation of angle radians about the corresponding *-world coordinate axis.
|
||||
Returns false if this is not a rotation.
|
||||
Notes:
|
||||
alpha and gamma are in the range (-pi, pi] while beta in in the range [0, pi]
|
||||
alpha and gamma are in the range (-pi, pi] while beta in the range [0, pi]
|
||||
*/
|
||||
bool GetEulerZYZ(double& alpha, double& beta, double& gamma)const;
|
||||
|
||||
|
||||
+1
-1
@@ -100,7 +100,7 @@ public:
|
||||
|
||||
bool Transform( const ON_Xform& );
|
||||
|
||||
// parameterization of NURBS surface does not match sphere's transcendental paramaterization
|
||||
// parameterization of NURBS surface does not match sphere's transcendental parameterization
|
||||
int GetNurbForm( ON_NurbsSurface& ) const; // returns 0=failure, 2=success
|
||||
|
||||
/*
|
||||
|
||||
+10
-10
@@ -60,7 +60,7 @@ Description:
|
||||
|
||||
Parameters:
|
||||
bTestByteOrder - [in]
|
||||
If bTestByteOrder is true and the the input buffer is a
|
||||
If bTestByteOrder is true and the input buffer is a
|
||||
byte order mark (BOM), then the BOM is skipped. It the value
|
||||
of the BOM is byte swapped, then subsequent input elements are
|
||||
byte swapped before being decoded. Specifically:
|
||||
@@ -176,7 +176,7 @@ Description:
|
||||
|
||||
Parameters:
|
||||
bTestByteOrder - [in]
|
||||
If bTestByteOrder is true and the the input buffer is a
|
||||
If bTestByteOrder is true and the input buffer is a
|
||||
byte order mark (BOM), then the BOM is skipped. It the value
|
||||
of the BOM is byte swapped, then subsequent input elements are
|
||||
byte swapped before being decoded. Specifically:
|
||||
@@ -308,7 +308,7 @@ Description:
|
||||
|
||||
Parameters:
|
||||
bTestByteOrder - [in]
|
||||
If bTestByteOrder is true and the the input buffer is a
|
||||
If bTestByteOrder is true and the input buffer is a
|
||||
byte order mark (BOM), then the BOM is skipped. It the value
|
||||
of the BOM is byte swapped, then subsequent input elements are
|
||||
byte swapped before being decoded. Specifically:
|
||||
@@ -430,7 +430,7 @@ Description:
|
||||
|
||||
Parameters:
|
||||
bTestByteOrder - [in]
|
||||
If bTestByteOrder is true and the the input buffer is a
|
||||
If bTestByteOrder is true and the input buffer is a
|
||||
byte order mark (BOM), then the BOM is skipped. It the value
|
||||
of the BOM is byte swapped, then subsequent input elements are
|
||||
byte swapped before being decoded. Specifically:
|
||||
@@ -551,7 +551,7 @@ Description:
|
||||
|
||||
Parameters:
|
||||
bTestByteOrder - [in]
|
||||
If bTestByteOrder is true and the the input buffer is a
|
||||
If bTestByteOrder is true and the input buffer is a
|
||||
byte order mark (BOM), then the BOM is skipped. It the value
|
||||
of the BOM is byte swapped, then subsequent input elements are
|
||||
byte swapped before being decoded. Specifically:
|
||||
@@ -687,7 +687,7 @@ Description:
|
||||
|
||||
Parameters:
|
||||
bTestByteOrder - [in]
|
||||
If bTestByteOrder is true and the the input buffer is a
|
||||
If bTestByteOrder is true and the input buffer is a
|
||||
byte order mark (BOM), then the BOM is skipped. It the value
|
||||
of the BOM is byte swapped, then subsequent input elements are
|
||||
byte swapped before being decoded. Specifically:
|
||||
@@ -810,7 +810,7 @@ Description:
|
||||
|
||||
Parameters:
|
||||
bTestByteOrder - [in]
|
||||
If bTestByteOrder is true and the the input buffer is a
|
||||
If bTestByteOrder is true and the input buffer is a
|
||||
byte order mark (BOM), then the BOM is skipped. It the value
|
||||
of the BOM is byte swapped, then subsequent input elements are
|
||||
byte swapped before being decoded. Specifically:
|
||||
@@ -946,7 +946,7 @@ Description:
|
||||
|
||||
Parameters:
|
||||
bTestByteOrder - [in]
|
||||
If bTestByteOrder is true and the the input buffer is a
|
||||
If bTestByteOrder is true and the input buffer is a
|
||||
byte order mark (BOM), then the BOM is skipped. It the value
|
||||
of the BOM is byte swapped, then subsequent input elements are
|
||||
byte swapped before being decoded. Specifically:
|
||||
@@ -1068,7 +1068,7 @@ Description:
|
||||
|
||||
Parameters:
|
||||
bTestByteOrder - [in]
|
||||
If bTestByteOrder is true and the the input buffer is a
|
||||
If bTestByteOrder is true and the input buffer is a
|
||||
byte order mark (BOM), then the BOM is skipped. It the value
|
||||
of the BOM is byte swapped, then subsequent input elements are
|
||||
byte swapped before being decoded. Specifically:
|
||||
@@ -1189,7 +1189,7 @@ Description:
|
||||
|
||||
Parameters:
|
||||
bTestByteOrder - [in]
|
||||
If bTestByteOrder is true and the the input buffer is a
|
||||
If bTestByteOrder is true and the input buffer is a
|
||||
byte order mark (BOM), then the BOM is skipped. It the value
|
||||
of the BOM is byte swapped, then subsequent input elements are
|
||||
byte swapped before being decoded. Specifically:
|
||||
|
||||
+2
-2
@@ -3843,9 +3843,9 @@ public:
|
||||
s - [in]
|
||||
string to parse.
|
||||
s[0] must be a sign or a digit. It can be the ordinary characters or superscripts.
|
||||
If the first digit is an ordinary digit, the the numerator and denominator must all
|
||||
If the first digit is an ordinary digit, the numerator and denominator must all
|
||||
be ordinary digits.
|
||||
If the first digit is a superscript digit, the the numerator must be all superscript
|
||||
If the first digit is a superscript digit, the numerator must be all superscript
|
||||
digits and the denominator be all subscript digits.
|
||||
len - [in]
|
||||
maximum number of characters to parse.
|
||||
|
||||
+42
-42
@@ -284,7 +284,7 @@ enum class ON_SubDHashType : unsigned char
|
||||
/// <summary>
|
||||
/// The Topology hash includes component ids, and all topological relationships
|
||||
/// between vertices, edges, and faces. If two SubDs have the same topology hash,
|
||||
/// then the the have identical labeled control net topology.
|
||||
/// then the have identical labeled control net topology.
|
||||
/// </summary>
|
||||
Topology = 3,
|
||||
|
||||
@@ -844,7 +844,7 @@ public:
|
||||
/// (vertex_tag = ON_SubDVertexTag::Crease, 2 sectors, EdgeCount() = FaceCount() >= 2),
|
||||
/// then interior_crease_vertex_sharpness is the maximum edge sharpness at the
|
||||
/// vertex's end of all smooth edges from both sectors.
|
||||
/// This paramter is important in special situations that occur
|
||||
/// This parameter is important in special situations that occur
|
||||
/// in low level SubD evaluation code where information from only one
|
||||
/// sector is present. In all other cases, this value doesn't matter as long
|
||||
/// as interior_crease_vertex_sharpness <= maximum_edge_sharpness_at_vertex.
|
||||
@@ -986,7 +986,7 @@ public:
|
||||
/// <summary>
|
||||
/// If this class was created using the constructor that has a vertex tag
|
||||
/// and that tag was ON_SubDVertexTag::Smooth or ON_SubDVertexTag::Dart,
|
||||
/// or ON_SubDVertexTag::Crease, then you you must call this function for
|
||||
/// or ON_SubDVertexTag::Crease, then you must call this function for
|
||||
/// every sharp edge connected to the vertex.
|
||||
/// </summary>
|
||||
/// <param name="sharpness_at_vertex">
|
||||
@@ -1262,7 +1262,7 @@ public:
|
||||
const ON_SubDEdgePtr EdgePtr(const class ON_SubDFace* face, unsigned corner_edge_dex) const;
|
||||
|
||||
/// <summary>
|
||||
/// Get the edge of face that goes from the the previous
|
||||
/// Get the edge of face that goes from the previous
|
||||
/// face corner to this face corner. The edge pointer
|
||||
/// is oriented from PreviousCornerVertex() to CornerVertex().
|
||||
/// If this is not set, face is nullptr, or face->EdgeCount() != this->EdgeCount(),
|
||||
@@ -1295,10 +1295,10 @@ public:
|
||||
|
||||
/// <summary>
|
||||
/// Create a SubD face parameter that identifies a point on the face.
|
||||
/// The parameters (0,0) correspond the the corner vertex cdex.Vertex(face).
|
||||
/// The parameters (0,0) correspond the corner vertex cdex.Vertex(face).
|
||||
/// The corner_s parameter runs from the corner vertex to the midpoint of cdex.RightEdge(face).
|
||||
/// The corner_t parameter runs from the corner vertex to the midpoint of cdex.LeftEdge(face).
|
||||
/// The parameters (1/2, 1/2) correspond the the center of the face.
|
||||
/// The parameters (1/2, 1/2) correspond the center of the face.
|
||||
/// </summary>
|
||||
/// <param name="cdex">
|
||||
/// Identifies the face's corner subdivison quad.
|
||||
@@ -1316,7 +1316,7 @@ public:
|
||||
);
|
||||
|
||||
/// <summary>
|
||||
/// Create at ON_SubDFaceParameter the corresponds to the the specified quad face parameters.
|
||||
/// Create at ON_SubDFaceParameter the corresponds to the specified quad face parameters.
|
||||
/// The quad face parameters for face.Vertex(0) are (0,0).
|
||||
/// The quad face parameters for face.Vertex(1) are (1,0).
|
||||
/// The quad face parameters for face.Vertex(2) are (1,1).
|
||||
@@ -2162,7 +2162,7 @@ public:
|
||||
point_location - [in]
|
||||
Used to select control net or limit surface point.
|
||||
Returns:
|
||||
The requested vertex point with with EdgeDirection() taken into account.
|
||||
The requested vertex point with EdgeDirection() taken into account.
|
||||
ON_3dPoint::NanPoint if relative_vertex_index, Edge() is nullptr, or Edge()->Vertex() is nullptr.
|
||||
*/
|
||||
const ON_3dPoint RelativeVertexPoint(
|
||||
@@ -2200,7 +2200,7 @@ public:
|
||||
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
|
||||
The name "sector coefficient" is used because 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.
|
||||
*/
|
||||
@@ -3976,7 +3976,7 @@ public:
|
||||
sorted_tags[] - [in]
|
||||
Array sorted by ON_SubD_ComponentIdTypeAndTag::CompareTypeAndId().
|
||||
Returns:
|
||||
If v is in sorted_tags[], the VertexTag() from from sorted_tags[] is returned.
|
||||
If v is in sorted_tags[], the VertexTag() from sorted_tags[] is returned.
|
||||
Otherwise v->m_vertex_tag is returned.
|
||||
*/
|
||||
static ON_SubDVertexTag OriginalVertexTag(
|
||||
@@ -3990,7 +3990,7 @@ public:
|
||||
sorted_tags[] - [in]
|
||||
Array sorted by ON_SubD_ComponentIdTypeAndTag::CompareTypeAndId().
|
||||
Returns:
|
||||
If vertex_id is in sorted_tags[], the VertexTag() from from sorted_tags[] is returned.
|
||||
If vertex_id is in sorted_tags[], the VertexTag() from sorted_tags[] is returned.
|
||||
Otherwise ON_SubDVertexTag::Unset is returned.
|
||||
*/
|
||||
static ON_SubDVertexTag OriginalVertexTag(
|
||||
@@ -4004,7 +4004,7 @@ public:
|
||||
sorted_tags[] - [in]
|
||||
Array sorted by ON_SubD_ComponentIdTypeAndTag::CompareTypeAndId().
|
||||
Returns:
|
||||
If e is in sorted_tags[], the EdgeTag() from from sorted_tags[] is returned.
|
||||
If e is in sorted_tags[], the EdgeTag() from sorted_tags[] is returned.
|
||||
Otherwise e->m_edge_tag is returned.
|
||||
*/
|
||||
static ON_SubDEdgeTag OriginalEdgeTag(
|
||||
@@ -4018,7 +4018,7 @@ public:
|
||||
sorted_tags[] - [in]
|
||||
Array sorted by ON_SubD_ComponentIdTypeAndTag::CompareTypeAndId().
|
||||
Returns:
|
||||
If edge_id is in sorted_tags[], the EdgeTag() from from sorted_tags[] is returned.
|
||||
If edge_id is in sorted_tags[], the EdgeTag() from sorted_tags[] is returned.
|
||||
Otherwise ON_SubDEdgeTag::Unset is returned.
|
||||
*/
|
||||
static ON_SubDEdgeTag OriginalEdgeTag(
|
||||
@@ -4032,7 +4032,7 @@ public:
|
||||
sorted_tags[] - [in]
|
||||
Array sorted by ON_SubD_ComponentIdTypeAndTag::CompareTypeAndId().
|
||||
Returns:
|
||||
If f is in sorted_tags[], the FaceTag() from from sorted_tags[] is returned.
|
||||
If f is in sorted_tags[], the FaceTag() from sorted_tags[] is returned.
|
||||
Otherwise 0 is returned.
|
||||
*/
|
||||
static unsigned char OriginalFaceTag(
|
||||
@@ -4046,7 +4046,7 @@ public:
|
||||
sorted_tags[] - [in]
|
||||
Array sorted by ON_SubD_ComponentIdTypeAndTag::CompareTypeAndId().
|
||||
Returns:
|
||||
If face_id is in sorted_tags[], the FaceTag() from from sorted_tags[] is returned.
|
||||
If face_id is in sorted_tags[], the FaceTag() from sorted_tags[] is returned.
|
||||
Otherwise ON_SubDFaceTag::Unset is returned.
|
||||
*/
|
||||
static unsigned char OriginalFaceTag(
|
||||
@@ -4997,19 +4997,19 @@ public:
|
||||
Double = 2,
|
||||
|
||||
/// <summary>
|
||||
/// This option applies only when the the input is an array of ON_SubDEdgePtrs
|
||||
/// This option applies only when the input is an array of ON_SubDEdgePtrs
|
||||
/// that form a single oriented edge chain of manifold interior edges.
|
||||
/// A single quad is added to the left of the input edges.
|
||||
/// (The left side of of an oriented interior manifold edge is the face
|
||||
/// (The left side of an oriented interior manifold edge is the face
|
||||
/// whose natural boundary orientation is the same as with the ON_SubDEdgePtr direction.)
|
||||
/// </summary>
|
||||
HalfLeft = 3,
|
||||
|
||||
/// <summary>
|
||||
/// This option applies only when the the input is an array of ON_SubDEdgePtrs
|
||||
/// This option applies only when the input is an array of ON_SubDEdgePtrs
|
||||
/// that form a single oriented edge chain of manifold interior edges.
|
||||
/// A single quad is added to the right of the input edges.
|
||||
/// (The right side of of an oriented interior manifold edge is the face
|
||||
/// (The right side of an oriented interior manifold edge is the face
|
||||
/// whose natural boundary orientation is opposite the ON_SubDEdgePtr direction.)
|
||||
/// </summary>
|
||||
HalfRight = 4,
|
||||
@@ -5083,7 +5083,7 @@ public:
|
||||
const ON_SimpleArray<ON_SubDEdgePtr>& edges
|
||||
);
|
||||
|
||||
/// This option applies only when the the input is an array of ON_SubDEdgePtrs
|
||||
/// This option applies only when the input is an array of ON_SubDEdgePtrs
|
||||
/// that form a single oriented edge chain. You may use
|
||||
/// ON_SubDExpandEdgesParameters::IsValidForVariableOffset() to determine if an
|
||||
/// array of ON_SubDEdgePtrs meets the variable offset requirements.
|
||||
@@ -5093,7 +5093,7 @@ public:
|
||||
|
||||
/*
|
||||
Description:
|
||||
This option applies only when the the input is an array of ON_SubDEdgePtrs
|
||||
This option applies only when the input is an array of ON_SubDEdgePtrs
|
||||
that form a single oriented edge chain. You may use
|
||||
ON_SubDExpandEdgesParameters::IsValidForVariableOffset() to determine if an
|
||||
array of ON_SubDEdgePtrs meets the variable offset requirements.
|
||||
@@ -5353,7 +5353,7 @@ public:
|
||||
/// In that case, this edge is used.
|
||||
/// </summary>
|
||||
/// <returns>
|
||||
/// The prefered edge attached to this vertex.
|
||||
/// The preferred edge attached to this vertex.
|
||||
/// </returns>
|
||||
const ON_SubDComponentId VertexEdge() const;
|
||||
|
||||
@@ -5362,7 +5362,7 @@ public:
|
||||
/// In these cases this face is used.
|
||||
/// </summary>
|
||||
/// <returns>
|
||||
/// The prefered face attached to this vertex.
|
||||
/// The preferred face attached to this vertex.
|
||||
/// </returns>
|
||||
const ON_SubDComponentId VertexFace() const;
|
||||
|
||||
@@ -5416,7 +5416,7 @@ public:
|
||||
/// In that case, this face is used.
|
||||
/// </summary>
|
||||
/// <returns>
|
||||
/// The prefered edge attached to this vertex.
|
||||
/// The preferred edge attached to this vertex.
|
||||
/// </returns>
|
||||
const ON_SubDComponentId EdgeFace() const;
|
||||
|
||||
@@ -7290,7 +7290,7 @@ public:
|
||||
Sets ON_SubDComponent MarkBits() to
|
||||
0: component is not in a symmetry set motif
|
||||
n>=1:
|
||||
The component is the the n-th element in the symmetry set
|
||||
The component is the n-th element in the symmetry set
|
||||
with n=1 indicating the component in the primary motif.
|
||||
*/
|
||||
void SetComponentMarkBitsFromSymmetryMotif() const;
|
||||
@@ -8440,7 +8440,7 @@ public:
|
||||
The edge will be on the same level as the vertices.
|
||||
sharpness - [in]
|
||||
If edge_tag is ON_SubDEdge::Smooth or ON_SubDEdge::SmoothX, then
|
||||
the the edge's sharpness is set to sharpness.
|
||||
the edge's sharpness is set to sharpness.
|
||||
Otherwise, the sharpness parameter is ignored.
|
||||
Returns:
|
||||
Pointer to the allocated edge.
|
||||
@@ -9691,7 +9691,7 @@ public:
|
||||
does not match this->SubDTopologyHash(), then this->FacePackingSubDTopologyHash() is updated
|
||||
to the current value of this->SubDTopologyHash().
|
||||
|
||||
If this parameter is false and and this->FacePackingSubDTopologyHash()
|
||||
If this parameter is false and this->FacePackingSubDTopologyHash()
|
||||
does not match this->SubDTopologyHash(), then the function returns false.
|
||||
Returns:
|
||||
True if FacesArePacked() is true, the quad grids meet all the conditions described above,
|
||||
@@ -10557,7 +10557,7 @@ public:
|
||||
double error_return_value
|
||||
);
|
||||
|
||||
// This value is is used to set sector angles when the
|
||||
// This value is used to set sector angles when the
|
||||
// actual value is not needed. This occurs at both ends
|
||||
// of a creased edge and when the end of a smooth edge
|
||||
// is a smooth vertex.
|
||||
@@ -10583,7 +10583,7 @@ public:
|
||||
static const double ErrorSectorTheta; // = -9992.0;
|
||||
|
||||
|
||||
// This value is is used to set edge sector coefficients when the
|
||||
// This value is used to set edge sector coefficients when the
|
||||
// actual value is not needed. This occurs at both ends
|
||||
// of a creased edge and when the end of a smooth edge
|
||||
// is a smooth vertex.
|
||||
@@ -13288,7 +13288,7 @@ private:
|
||||
/// <summary>
|
||||
/// ON_SubDMesh is used to store a high density traditional quad mesh
|
||||
/// of a SubD surface or a mesh of a SubD control net.
|
||||
/// In general, is is better to use an ON_SubDMeshFragmentIterator(subd)
|
||||
/// In general, is better to use an ON_SubDMeshFragmentIterator(subd)
|
||||
/// that iterates the ON_MeshFragments cached on the ON_SubD.
|
||||
/// </summary>
|
||||
class ON_CLASS ON_SubDMesh
|
||||
@@ -14610,7 +14610,7 @@ public:
|
||||
/// The bEndCheck parameter controls what type of sharpness query
|
||||
/// is performed.
|
||||
/// Note that the vertex subdivision point is affected by attached
|
||||
/// sharp edges when IsSharp(true) is is true (ON_Vertex::VertexSharpness() > 0).
|
||||
/// sharp edges when IsSharp(true) is true (ON_Vertex::VertexSharpness() > 0).
|
||||
/// The vertex limit surface point is affected by edge sharpenss
|
||||
/// when IsSharp(false) is true.
|
||||
/// See ON_SubDEdge::IsSharp() for more information about sharp edges.
|
||||
@@ -14631,9 +14631,9 @@ public:
|
||||
/// See ON_SubDEdge::IsSharp() for more information about sharp edges.
|
||||
/// </summary>
|
||||
/// <returns>
|
||||
/// If the vertex is smooth and and two or more attached edges have positive end sharpness
|
||||
/// If the vertex is smooth and two or more attached edges have positive end sharpness
|
||||
/// at this vertex, then the maximum edge end sharpness at this vertex is returned.
|
||||
/// If the vertex is a dart or crease and and one or more attached edges have positive end sharpness
|
||||
/// If the vertex is a dart or crease and one or more attached edges have positive end sharpness
|
||||
/// at this vertex, then the maximum edge end sharpness at this vertex is returned.
|
||||
/// Otherwise 0.0 is returned.
|
||||
/// </returns>
|
||||
@@ -14707,9 +14707,9 @@ public:
|
||||
/// in place of the ordinary subdivision point.
|
||||
/// </param>
|
||||
/// <returns>
|
||||
/// If the vertex is smooth and and two or more attached edges have positive end sharpness
|
||||
/// If the vertex is smooth and two or more attached edges have positive end sharpness
|
||||
/// at this vertex, then the maximum edge end sharpness at this vertex is returned.
|
||||
/// If the vertex is a dart or crease and and one or more attached edges have positive end sharpness
|
||||
/// If the vertex is a dart or crease and one or more attached edges have positive end sharpness
|
||||
/// at this vertex, then the maximum edge end sharpness at this vertex is returned.
|
||||
/// Otherwise 0.0 is returned.
|
||||
///< / returns>
|
||||
@@ -15950,8 +15950,8 @@ public:
|
||||
/// Sharp edges are a blend between smooth edges and crease edges.
|
||||
/// The limit surface has a continuous normal along a sharp edge.
|
||||
/// A sharp edge has a smooth tag,
|
||||
/// has sharpness > 0 at at least one end,
|
||||
/// and has sharpness < ON_SubDEdgeSharpness::MaximumValue at at least one end.
|
||||
/// has sharpness > 0 at least one end,
|
||||
/// and has sharpness < ON_SubDEdgeSharpness::MaximumValue at least one end.
|
||||
/// Sharpness has no meaning for edges with crease tags.
|
||||
/// Both sharpness values are zero for an ordinary smooth edge.
|
||||
/// Edge sharpness steadily decreases during subdivision and becomes zero after at most ON_SubDEdgeSharpness::MaximumValue subdivisions.
|
||||
@@ -20186,7 +20186,7 @@ public:
|
||||
A positive value increases vertex bias in some situations; otherwise vertex_depth_bias is ignored.
|
||||
When pick_type is ON_PickType::PointPick and either
|
||||
an edge and a vertex of that edge or a face and a vertex of that face are being compared,
|
||||
then then vertex_depth_bias is added to the vertex hit depth before comparing depths.
|
||||
then vertex_depth_bias is added to the vertex hit depth before comparing depths.
|
||||
When the pick is happening in a perspective view, it is important to choose a vertex_depth_bias
|
||||
appropriate for the depth in the view frustum.
|
||||
|
||||
@@ -20194,7 +20194,7 @@ public:
|
||||
When in doubt pass 0.0.
|
||||
A positive value increases edge bias in some situations; otherwise vertex_depth_bias is ignored.
|
||||
When pick_type is ON_PickType::PointPick and a face and an edge of that face are being compared,
|
||||
then then edge_depth_bias is added to the edge hit depth before comparing depths.
|
||||
then edge_depth_bias is added to the edge hit depth before comparing depths.
|
||||
When the pick is happening in a perspective view, it is important to choose an edge_depth_bias
|
||||
appropriate for the depth in the view frustum.
|
||||
|
||||
@@ -20216,7 +20216,7 @@ public:
|
||||
// m_component_ptr will be face, edge or vertex
|
||||
ON_SubDComponentPtr m_component_ptr = ON_SubDComponentPtr::Null;
|
||||
|
||||
//// If the point is on a a face that does not have the ordinary number of
|
||||
//// If the point is on a face that does not have the ordinary number of
|
||||
//// edges for the subdivision type, then m_face_corner_index identifies the
|
||||
//// subfragment corner.
|
||||
//unsigned int m_face_corner_index = ON_UNSET_UINT_INDEX;
|
||||
@@ -20332,7 +20332,7 @@ public:
|
||||
// edges E[1], ..., E[N-1] are smooth with sharpness = 0,
|
||||
// and all faces F[i] are quads.
|
||||
//
|
||||
// If If "C" is a boundary vertex (m_vertex_tag is crease or corner), the conditions
|
||||
// If "C" is a boundary vertex (m_vertex_tag is crease or corner), the conditions
|
||||
// listed above are satisfied except
|
||||
// E[0] and E[N-1] are crease edges,
|
||||
// E[1], ..., E[N-2] are smooth edges with sharpness = 0,
|
||||
@@ -20349,7 +20349,7 @@ public:
|
||||
|
||||
// m_S = R x R subdivision matrix
|
||||
// If (vertexR[0], ..., vertexR[R-1]) is a list of standard vertex ring points,
|
||||
// then then the location of the subdivided ring points
|
||||
// then the location of the subdivided ring points
|
||||
// (vertexR1[0], ..., vertexR1[R-1]) can be calculated from m_S.
|
||||
// vertexR1[i] = m_S[i][0]*vertexR[0] + ... + m_S[i][R-1]*vertexR[R-1]
|
||||
const double* const* m_S = nullptr;
|
||||
|
||||
@@ -3263,7 +3263,7 @@ public:
|
||||
|
||||
/// <summary>
|
||||
/// Initialize this ON_SubDVertexQuadSector topology and component tags
|
||||
/// assuming the the smooth edges attached to the center vertex have
|
||||
/// assuming the smooth edges attached to the center vertex have
|
||||
/// a smooth outer ring vertex.
|
||||
/// </summary>
|
||||
/// If center_vertex_tag is ON_SubDVertexTag::Smooth or ON_SubDVertexTag::Dart,
|
||||
@@ -3318,7 +3318,7 @@ public:
|
||||
|
||||
/// <summary>
|
||||
/// Initialize this ON_SubDVertexQuadSector topology and component tags
|
||||
/// assuming the the smooth edges attached to the center vertex have
|
||||
/// assuming the smooth edges attached to the center vertex have
|
||||
/// a smooth outer ring vertex and are not sharp.
|
||||
/// </summary>
|
||||
/// If vertex_tag is ON_SubDVertexTag::Smooth or ON_SubDVertexTag::Dart,
|
||||
@@ -3366,7 +3366,7 @@ public:
|
||||
|
||||
/// <summary>
|
||||
/// Initialize this ON_SubDVertexQuadSector topology and component tags
|
||||
/// assuming the the smooth edges attached to the center vertex have
|
||||
/// assuming the smooth edges attached to the center vertex have
|
||||
/// a smooth outer ring vertex.
|
||||
/// </summary>
|
||||
/// If center_vertex_tag is ON_SubDVertexTag::Smooth or ON_SubDVertexTag::Dart,
|
||||
|
||||
+1
-1
@@ -891,7 +891,7 @@ public:
|
||||
Parameters:
|
||||
surface - [in]
|
||||
If surface is not null, then it is used to set the surface properties.
|
||||
If surface is null, then all surface properties are set to to zero.
|
||||
If surface is null, then all surface properties are set to zero.
|
||||
Remarks:
|
||||
Does not modify the value of m_tag.
|
||||
*/
|
||||
|
||||
@@ -95,7 +95,7 @@ public:
|
||||
Unset = 0,
|
||||
|
||||
/// <summary>
|
||||
/// The symmetry is associated with an object is is applied to.
|
||||
/// The symmetry is associated with an object is applied to.
|
||||
/// If that object is transformed, the symmetry's planes and rotation axes
|
||||
/// are also transformed.
|
||||
/// </summary>
|
||||
@@ -175,7 +175,7 @@ public:
|
||||
InsideRotateAndReflect = 11,
|
||||
|
||||
/// <summary>
|
||||
/// Outside the primary motif region and and on one of the fixed point planes
|
||||
/// Outside the primary motif region and on one of the fixed point planes
|
||||
/// Applies to ReflectAndRotate symmetries.
|
||||
/// </summary>
|
||||
OutsideRotateAndReflect = 12
|
||||
@@ -279,7 +279,7 @@ public:
|
||||
transformation - [in]
|
||||
fixed_plane - [in]
|
||||
Returns:
|
||||
True if the the transformation and fixed_plane are valid and
|
||||
True if the transformation and fixed_plane are valid and
|
||||
the transformation fixes points on the plane.
|
||||
Remarks:
|
||||
The value ON_Symmetry::ZeroTolerance is used for all "zero tolerances."
|
||||
|
||||
+1
-1
@@ -626,7 +626,7 @@ typedef ON__UINT32 wchar_t;
|
||||
// Whenever possible use native OS tools for font and glyph support.
|
||||
// Things like names, outlines, metrics, UNICODE mapping will generally
|
||||
// work better align with user's experiences on that platform.
|
||||
// Freetype is basically a platform neutral font file file reading toolkit
|
||||
// Freetype is basically a platform neutral font file reading toolkit
|
||||
// and has all the limitations that arise from that approach to complex
|
||||
// information modern OSs manage in complicated ways.
|
||||
|
||||
|
||||
@@ -43,7 +43,7 @@ ON_TextRun::ON_TextRun(bool bManagedTextRun)
|
||||
|
||||
ON_TextRun* ON_TextRun::GetManagedTextRun()
|
||||
{
|
||||
// .NET wrappers manage objects with test runs and .NET GC runs in its own thread,
|
||||
// .NET wrappers manage objects with text runs and .NET GC runs in its own thread,
|
||||
// so text run allocation/return using the global ON_TextRunPool::thePool resource
|
||||
// must be thread safe.
|
||||
void* p = ON_TextRunPool::thePool.ThreadSafeAllocateDirtyElement();
|
||||
@@ -80,7 +80,7 @@ bool ON_TextRun::ReturnManagedTextRun(
|
||||
{
|
||||
run->Internal_Destroy();
|
||||
run->m_active_status = 1;
|
||||
// .NET wrappers manage objects with test runs and .NET GC runs in its own thread,
|
||||
// .NET wrappers manage objects with text runs and .NET GC runs in its own thread,
|
||||
// so text run allocation/return using the global ON_TextRunPool::thePool resource
|
||||
// must be thread safe.
|
||||
ON_TextRunPool::thePool.ThreadSafeReturnElement(run);
|
||||
@@ -1133,7 +1133,7 @@ private:
|
||||
}
|
||||
if (0.0 > linewidth)
|
||||
{
|
||||
ON_ERROR("WrapTextRun: Linewidtht < 0.");
|
||||
ON_ERROR("WrapTextRun: Linewidth < 0.");
|
||||
linewidth = 0.0;
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -222,7 +222,7 @@ public:
|
||||
count - [out] number of tiles
|
||||
offset - [out] offset of the tile
|
||||
Returns:
|
||||
True if if the m_uvw matrix had entries that were compatible
|
||||
True if the m_uvw matrix had entries that were compatible
|
||||
with tiling.
|
||||
*/
|
||||
bool IsTiled( int dir, double* count, double* offset ) const;
|
||||
@@ -531,7 +531,7 @@ public:
|
||||
|
||||
// If an ON_Material m_textures[] array has more than
|
||||
// one texture, the textures are blended, and the textures
|
||||
// have different m_blend_order values, the the texture
|
||||
// have different m_blend_order values, the texture
|
||||
// with the smaller m_blend_order is first.
|
||||
int m_blend_order = 0;
|
||||
};
|
||||
|
||||
@@ -232,7 +232,7 @@ public:
|
||||
/// <param name="aggregate_edge_demographics">
|
||||
/// Value made by bitwise or of ON_ComponentAttributes::EdgeAttributes values for every edge in the object.
|
||||
/// </param>
|
||||
/// <returns>If for every edge edge with exactly two faces, those two faces have compatible orientations, then true is returned.
|
||||
/// <returns>If for every edge with exactly two faces, those two faces have compatible orientations, then true is returned.
|
||||
/// Otherwise, false is returned.
|
||||
///</returns>
|
||||
static bool IsOriented(
|
||||
@@ -245,7 +245,7 @@ public:
|
||||
/// <param name="aggregate_edge_component_attributes">
|
||||
/// Value made by bitwise or of ON_ComponentAttributes::EdgeAttributes values for every edge in the object.
|
||||
/// </param>
|
||||
/// <returns>If there is an edge edge with exactly two faces and those faces have incompatible orientations,
|
||||
/// <returns>If there is an edge with exactly two faces and those faces have incompatible orientations,
|
||||
/// then true is returned. Otherwise, false is returned.
|
||||
///</returns>
|
||||
static bool IsNotOriented(
|
||||
|
||||
+15
-15
@@ -1421,7 +1421,7 @@ Description:
|
||||
|
||||
Parameters:
|
||||
bTestByteOrder - [in]
|
||||
If bTestByteOrder is true and the the input buffer is a
|
||||
If bTestByteOrder is true and the input buffer is a
|
||||
byte order mark (BOM), then the BOM is skipped. It the value
|
||||
of the BOM is byte swapped, then subsequent input elements are
|
||||
byte swapped before being decoded. Specifically:
|
||||
@@ -1559,7 +1559,7 @@ Description:
|
||||
|
||||
Parameters:
|
||||
bTestByteOrder - [in]
|
||||
If bTestByteOrder is true and the the input buffer is a
|
||||
If bTestByteOrder is true and the input buffer is a
|
||||
byte order mark (BOM), then the BOM is skipped. It the value
|
||||
of the BOM is byte swapped, then subsequent input elements are
|
||||
byte swapped before being decoded. Specifically:
|
||||
@@ -1696,7 +1696,7 @@ Description:
|
||||
|
||||
Parameters:
|
||||
bTestByteOrder - [in]
|
||||
If bTestByteOrder is true and the the input buffer is a
|
||||
If bTestByteOrder is true and the input buffer is a
|
||||
byte order mark (BOM), then the BOM is skipped. It the value
|
||||
of the BOM is byte swapped, then subsequent input elements are
|
||||
byte swapped before being decoded. Specifically:
|
||||
@@ -1833,7 +1833,7 @@ Description:
|
||||
|
||||
Parameters:
|
||||
bTestByteOrder - [in]
|
||||
If bTestByteOrder is true and the the input buffer is a
|
||||
If bTestByteOrder is true and the input buffer is a
|
||||
byte order mark (BOM), then the BOM is skipped. It the value
|
||||
of the BOM is byte swapped, then subsequent input elements are
|
||||
byte swapped before being decoded. Specifically:
|
||||
@@ -1986,7 +1986,7 @@ Description:
|
||||
|
||||
Parameters:
|
||||
bTestByteOrder - [in]
|
||||
If bTestByteOrder is true and the the input buffer is a
|
||||
If bTestByteOrder is true and the input buffer is a
|
||||
byte order mark (BOM), then the BOM is skipped. It the value
|
||||
of the BOM is byte swapped, then subsequent input elements are
|
||||
byte swapped before being decoded. Specifically:
|
||||
@@ -2124,7 +2124,7 @@ Description:
|
||||
|
||||
Parameters:
|
||||
bTestByteOrder - [in]
|
||||
If bTestByteOrder is true and the the input buffer is a
|
||||
If bTestByteOrder is true and the input buffer is a
|
||||
byte order mark (BOM), then the BOM is skipped. It the value
|
||||
of the BOM is byte swapped, then subsequent input elements are
|
||||
byte swapped before being decoded. Specifically:
|
||||
@@ -2274,7 +2274,7 @@ Description:
|
||||
|
||||
Parameters:
|
||||
bTestByteOrder - [in]
|
||||
If bTestByteOrder is true and the the input buffer is a
|
||||
If bTestByteOrder is true and the input buffer is a
|
||||
byte order mark (BOM), then the BOM is skipped. It the value
|
||||
of the BOM is byte swapped, then subsequent input elements are
|
||||
byte swapped before being decoded. Specifically:
|
||||
@@ -2424,7 +2424,7 @@ Description:
|
||||
|
||||
Parameters:
|
||||
bTestByteOrder - [in]
|
||||
If bTestByteOrder is true and the the input buffer is a
|
||||
If bTestByteOrder is true and the input buffer is a
|
||||
byte order mark (BOM), then the BOM is skipped. It the value
|
||||
of the BOM is byte swapped, then subsequent input elements are
|
||||
byte swapped before being decoded. Specifically:
|
||||
@@ -2578,7 +2578,7 @@ Description:
|
||||
|
||||
Parameters:
|
||||
bTestByteOrder - [in]
|
||||
If bTestByteOrder is true and the the input buffer is a
|
||||
If bTestByteOrder is true and the input buffer is a
|
||||
byte order mark (BOM), then the BOM is skipped. It the value
|
||||
of the BOM is byte swapped, then subsequent input elements are
|
||||
byte swapped before being decoded. Specifically:
|
||||
@@ -2744,7 +2744,7 @@ Description:
|
||||
|
||||
Parameters:
|
||||
bTestByteOrder - [in]
|
||||
If bTestByteOrder is true and the the input buffer is a
|
||||
If bTestByteOrder is true and the input buffer is a
|
||||
byte order mark (BOM), then the BOM is skipped. It the value
|
||||
of the BOM is byte swapped, then subsequent input elements are
|
||||
byte swapped before being decoded. Specifically:
|
||||
@@ -2891,7 +2891,7 @@ Description:
|
||||
|
||||
Parameters:
|
||||
bTestByteOrder - [in]
|
||||
If bTestByteOrder is true and the the input buffer is a
|
||||
If bTestByteOrder is true and the input buffer is a
|
||||
byte order mark (BOM), then the BOM is skipped. It the value
|
||||
of the BOM is byte swapped, then subsequent input elements are
|
||||
byte swapped before being decoded. Specifically:
|
||||
@@ -3039,7 +3039,7 @@ Description:
|
||||
|
||||
Parameters:
|
||||
bTestByteOrder - [in]
|
||||
If bTestByteOrder is true and the the input buffer is a
|
||||
If bTestByteOrder is true and the input buffer is a
|
||||
byte order mark (BOM), then the BOM is skipped. It the value
|
||||
of the BOM is byte swapped, then subsequent input elements are
|
||||
byte swapped before being decoded. Specifically:
|
||||
@@ -3187,7 +3187,7 @@ Description:
|
||||
|
||||
Parameters:
|
||||
bTestByteOrder - [in]
|
||||
If bTestByteOrder is true and the the input buffer is a
|
||||
If bTestByteOrder is true and the input buffer is a
|
||||
byte order mark (BOM), then the BOM is skipped. It the value
|
||||
of the BOM is byte swapped, then subsequent input elements are
|
||||
byte swapped before being decoded. Specifically:
|
||||
@@ -3335,7 +3335,7 @@ Description:
|
||||
|
||||
Parameters:
|
||||
bTestByteOrder - [in]
|
||||
If bTestByteOrder is true and the the input buffer is a
|
||||
If bTestByteOrder is true and the input buffer is a
|
||||
byte order mark (BOM), then the BOM is skipped. It the value
|
||||
of the BOM is byte swapped, then subsequent input elements are
|
||||
byte swapped before being decoded. Specifically:
|
||||
@@ -3483,7 +3483,7 @@ Description:
|
||||
|
||||
Parameters:
|
||||
bTestByteOrder - [in]
|
||||
If bTestByteOrder is true and the the input buffer is a
|
||||
If bTestByteOrder is true and the input buffer is a
|
||||
byte order mark (BOM), then the BOM is skipped. It the value
|
||||
of the BOM is byte swapped, then subsequent input elements are
|
||||
byte swapped before being decoded. Specifically:
|
||||
|
||||
@@ -312,7 +312,7 @@ public:
|
||||
// For files written with earlier versions of opennurbs, these
|
||||
// values are set from the archive containing the user data.
|
||||
// The purpose of this version information is to have it accompany
|
||||
// unknown user data so that if is is eventually read by the plug-in
|
||||
// unknown user data so that if is eventually read by the plug-in
|
||||
// an ON_BinaryArchive with correct version information can be
|
||||
// passed to the plug-in's reading code. In archives, these values
|
||||
// are stored in the TCODE_USER_TABLE_RECORD_HEADER chunk.
|
||||
|
||||
@@ -535,7 +535,7 @@ public:
|
||||
If true, the frustum will be adjusted so top = -bottom.
|
||||
target_distance - [in]
|
||||
If projection is not perspective or target_distance
|
||||
is ON_UNSET_VALUE, this this parameter is ignored.
|
||||
is ON_UNSET_VALUE, this parameter is ignored.
|
||||
If the projection is perspective and target_distance
|
||||
is not ON_UNSET_VALUE, then it must be > 0.0 and
|
||||
it is used to determine which plane in the old
|
||||
@@ -1619,7 +1619,7 @@ public:
|
||||
0 = No part of the of the transformed bounding box
|
||||
is in the view frustum or the view camera and frustum
|
||||
have not been set.
|
||||
1 = A portion of of the transformed bounding box is
|
||||
1 = A portion of the transformed bounding box is
|
||||
in the view frustum
|
||||
2 = The entire transformed bounding box is in the
|
||||
view frustum.
|
||||
@@ -1712,7 +1712,7 @@ protected:
|
||||
|
||||
private:
|
||||
// When this id matches the viewport id saved in an ON_DisplayMaterialRef
|
||||
// list in ON_3dmObjectAttributes, then the the display material is used
|
||||
// list in ON_3dmObjectAttributes, then the display material is used
|
||||
// for that object in this view.
|
||||
ON_UUID m_viewport_id = ON_nil_uuid;
|
||||
|
||||
|
||||
+1
-1
@@ -1058,7 +1058,7 @@ Details:
|
||||
where R_*(angle) is rotation of angle radians about the corresponding *-world coordinate axis.
|
||||
Returns false if this is not a rotation.
|
||||
Notes:
|
||||
alpha and gamma are in the range (-pi, pi] while beta in in the range [0, pi]
|
||||
alpha and gamma are in the range (-pi, pi] while beta in the range [0, pi]
|
||||
*/
|
||||
bool GetEulerZYZ(double& alpha, double& beta, double& gamma )const;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user