Rhino C++ API
8.13
|
#include <opennurbs_hatch.h>
Public Member Functions | |
ON_Hatch ()=default | |
Default constructor. More... | |
ON_Hatch (const ON_Hatch &) | |
~ON_Hatch () | |
void | AddLoop (ON_HatchLoop *loop) |
ON_3dPoint | BasePoint () const |
ON_2dPoint | BasePoint2d () const |
class ON_Brep * | BrepForm (class ON_Brep *brep=nullptr) const override |
bool | Create (const ON_Plane &plane, const ON_SimpleArray< const ON_Curve * > loops, int pattern_index, double pattern_rotation, double pattern_scale) |
Interface. More... | |
int | Dimension () const override |
ON_Geometry overrides. More... | |
void | Dump (ON_TextLog &) const override |
virtual ON_Hatch * | DuplicateHatch () const |
bool | GetBBox (double *boxmin, double *boxmax, bool bGrowBox=false) const override |
virtual ON_Geometry GetBBox override More... | |
void | GetGradientColors (ON_SimpleArray< ON_ColorStop > &colors) const |
void | GetGradientEndPoints (ON_3dPoint &startPoint, ON_3dPoint &endPoint) const |
double | GetGradientRepeat () const |
ON_GradientType | GetGradientType () 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... | |
bool | InsertLoop (int index, ON_HatchLoop *loop) |
bool | IsValid (class ON_TextLog *text_log=nullptr) const override |
ON_Object overrides. More... | |
const ON_HatchLoop * | Loop (int index) const |
int | LoopCount () const |
ON_Curve * | LoopCurve3d (int index) const |
ON::object_type | ObjectType () const override |
ON_Hatch & | operator= (const ON_Hatch &) |
int | PatternIndex () const |
double | PatternRotation () const |
double | PatternScale () const |
const ON_Plane & | Plane () const |
bool | Read (ON_BinaryArchive &) override |
bool | RemoveLoop (int index) |
bool | ReplaceLoops (ON_SimpleArray< const ON_Curve * > &loops) |
bool | ScalePattern (ON_Xform xform) |
void | SetBasePoint (ON_2dPoint basepoint) |
Basepoint functions added March 23, 2008 -LW. More... | |
void | SetBasePoint (ON_3dPoint point) |
bool | SetGradientColors (const ON_SimpleArray< ON_ColorStop > &colors) |
bool | SetGradientEndPoints (ON_3dPoint startpoint, ON_3dPoint endPoint) |
bool | SetGradientRepeat (double repeat) |
void | SetGradientType (ON_GradientType gt) |
void | SetPatternIndex (int index) |
void | SetPatternRotation (double rotation) |
void | SetPatternScale (double scale) |
void | SetPlane (const ON_Plane &plane) |
bool | Transform (const ON_Xform &) override |
bool | Write (ON_BinaryArchive &) const override |
Public Member Functions inherited from ON_Geometry | |
ON_Geometry ()=default | |
ON_Geometry (const ON_Geometry &)=default | |
~ON_Geometry ()=default | |
ON_BoundingBox | BoundingBox () const |
virtual void | ClearBoundingBox () |
virtual ON_COMPONENT_INDEX | ComponentIndex () const |
virtual bool | EvaluatePoint (const class ON_ObjRef &objref, ON_3dPoint &P) const |
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 |
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 ON__UINT32 | DataCRC (ON__UINT32 current_remainder) const |
virtual bool | DeleteComponents (const ON_COMPONENT_INDEX *ci_list, size_t ci_count) |
virtual void | DestroyRuntimeCache (bool bDelete=true) |
bool | DetachUserData (class ON_UserData *pUserData) |
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_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) |
virtual unsigned int | SizeOf () const |
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 |
Static Public Member Functions | |
static ON_Hatch * | HatchFromBrep (ON_Hatch *use_this_hatch, const ON_Brep *brep, int face_index, int pattern_index, double pattern_rotation_radians, double pattern_scale, ON_3dPoint basepoint) |
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 Attributes inherited from ON_Geometry | |
const static ON_Geometry | Unset |
class ON_Hatch /////////////////////////////////////////////////////////////// Represents a hatch in planar boundary loop or loops This is a 2d entity with a plane defining a local coordinate system The loops, patterns, angles, etc are all in this local coordinate system
The ON_Hatch object manages the plane and loop array Fill definitions are in the ON_HatchPattern or class derived from ON_HatchPattern ON_Hatch has an index to get the pattern definition from the pattern table
|
default |
Default constructor.
ON_Hatch::~ON_Hatch | ( | ) |
ON_Hatch::ON_Hatch | ( | const ON_Hatch & | ) |
void ON_Hatch::AddLoop | ( | ON_HatchLoop * | loop | ) |
Description: Add a loop to the hatch Parameters: loop - [in] the loop to add. Memory management for the loop is managed by this class. Returns:
ON_3dPoint ON_Hatch::BasePoint | ( | ) | const |
Description: Return 3d WCS point that lies on hatch's plane used for pattern origin.
ON_2dPoint ON_Hatch::BasePoint2d | ( | ) | const |
Description: Return 2d ECS point used for pattern origin.
Description: If possible, BrepForm() creates a brep form of the ON_Geometry. Parameters: brep - [in] if not nullptr, brep is used to store the brep form of the geometry. Result: Returns a pointer to on ON_Brep or nullptr. If the brep parameter is not nullptr, then brep is returned if the geometry has a brep form and nullptr is returned if the geometry does not have a brep form. Remarks: The caller is responsible for managing the brep memory. See Also ON_Geometry::HasBrepForm
Reimplemented from ON_Geometry.
bool ON_Hatch::Create | ( | const ON_Plane & | plane, |
const ON_SimpleArray< const ON_Curve * > | loops, | ||
int | pattern_index, | ||
double | pattern_rotation, | ||
double | pattern_scale | ||
) |
Interface.
Description: Create a hatch from input geometry and parameters Parameters: plane [I] - ON_Plane to make the hatch on loops [I] - Array of boundary loops with the outer one first pattern_index [I] - Index into the hatch table pattern_rotation [I] - ccw in radians about plane origin pattern_scale [I] - Scale factor for pattern definition Returns: true = success, false = failure
|
overridevirtual |
ON_Geometry overrides.
Returns the geometric dimension of the object ( usually 3)
Reimplemented from ON_Geometry.
|
overridevirtual |
|
virtual |
|
overridevirtual |
virtual ON_Geometry GetBBox override
Reimplemented from ON_Geometry.
void ON_Hatch::GetGradientColors | ( | ON_SimpleArray< ON_ColorStop > & | colors | ) | const |
Description: Get list of color stops used for gradient drawing.
void ON_Hatch::GetGradientEndPoints | ( | ON_3dPoint & | startPoint, |
ON_3dPoint & | endPoint | ||
) | const |
Description: Get the start and end points for gradient drawing in 3d
double ON_Hatch::GetGradientRepeat | ( | ) | const |
Description: Get gradient repeat factor for gradient drawing.
1 repeat reflected number of times between start and end point
< -1 repeat wrap number of times between start and end point any other value does not affect repeat on a gradient
ON_GradientType ON_Hatch::GetGradientType | ( | ) | const |
Description: Returns gradient fill type for this hatch
|
overridevirtual |
virtual ON_Geometry GetTightBoundingBox override
Reimplemented from ON_Geometry.
|
static |
bool ON_Hatch::InsertLoop | ( | int | index, |
ON_HatchLoop * | loop | ||
) |
Description: Insert a loop to the hatch at the specified index Parameters: index - [in] zero based index of the position where insert the loop to. loop - [in] the loop to insert. Memory management for the loop is managed by this class on success. Returns: true if success false if index is lower than 0 or greater than current loop count.
|
overridevirtual |
ON_Object overrides.
Reimplemented from ON_Geometry.
const ON_HatchLoop* ON_Hatch::Loop | ( | int | index | ) | const |
Description: Get the loop at index Parameters: index - [in] which loop to get Returns: pointer to loop at index nullptr if index is out of range
int ON_Hatch::LoopCount | ( | ) | const |
Description: Get the number of loops used by this hatch Parameters: Returns: the number of loops
ON_Curve* ON_Hatch::LoopCurve3d | ( | int | index | ) | const |
Description: Get the 3d curve corresponding to loop[index] Parameters: index - [in] which loop to get Returns: pointer to 3d curve of loop at index nullptr if index is out of range or curve can't be made Caller deletes the returned curve
|
overridevirtual |
Description: Useful for switch statements that need to differentiate between basic object types like points, curves, surfaces, and so on.
Returns: ON::object_type enum value.
Remarks: The default implementation of this virtual function returns ON::unknown_object_type
Reimplemented from ON_Object.
int ON_Hatch::PatternIndex | ( | ) | const |
Description: Get the index of the hatch's pattern Parameters: Returns: index of the pattern
double ON_Hatch::PatternRotation | ( | ) | const |
Description: Gets the rotation applied to the hatch pattern when it is mapped to the hatch's plane Returns: The rotation in radians Remarks: The pattern is rotated counter-clockwise around the hatch's plane origin by this value
double ON_Hatch::PatternScale | ( | ) | const |
Description: Gets the scale applied to the hatch pattern when it is mapped to the hatch's plane Returns: The scale Remarks: The pattern is scaled around the hatch's plane origin by this value
const ON_Plane& ON_Hatch::Plane | ( | ) | const |
Description: Get the plane defining the hatch's coordinate system Parameters: Returns: the plane
|
overridevirtual |
Description: Low level archive writing tool used by ON_BinaryArchive::ReadObject(). Parameters: binary_archive - archive to read from Returns: Returns true if the read is successful. Remarks: Use ON_BinaryArchive::ReadObject() to read objects. This Read() function should read the objects definition back into its data members.
The default implementation of this virtual function returns false and does nothing.
Reimplemented from ON_Object.
bool ON_Hatch::RemoveLoop | ( | int | index | ) |
Description: Remove a loop in the hatch Parameters: loop - [in] zero based index of the loop to remove. Returns: true if success
bool ON_Hatch::ReplaceLoops | ( | ON_SimpleArray< const ON_Curve * > & | loops | ) |
Function added June 12 2008 LW Description: Remove all of the loops on the hatch and add the curves in 'loops' as new loops Parameters: loops - [in] An array of pointers to 2d or 3d curves If the curves are 2d, add them to the hatch directly If they are 3d, project them to the hatch's plane first Returns: true - success false - no loops in input array or an error adding them
bool ON_Hatch::ScalePattern | ( | ON_Xform | xform | ) |
Description: Scales the hatch's pattern by a 4x4 xform matrix Parameters: [in] xform - An ON_Xform with the transformation information Returns: true = Success false = Failure Remarks: The hatch pattern scale is multiplied by the change in length of a unit vector in the hatch plane x direction when that vector is scaled by the input xform
void ON_Hatch::SetBasePoint | ( | ON_2dPoint | basepoint | ) |
Basepoint functions added March 23, 2008 -LW.
Description: Set 2d Base point for hatch pattern alignment. Parameters: basepoint - 2d point in hatch's ECS
void ON_Hatch::SetBasePoint | ( | ON_3dPoint | point | ) |
Description: Set 3d Base point for hatch pattern alignment. Parameters: point - 3d WCS point Remarks: Projects point to hatch's plane and sets 2d point
bool ON_Hatch::SetGradientColors | ( | const ON_SimpleArray< ON_ColorStop > & | colors | ) |
Description: Set list of color stops used for gradient drawing.
bool ON_Hatch::SetGradientEndPoints | ( | ON_3dPoint | startpoint, |
ON_3dPoint | endPoint | ||
) |
Description: Set the start and end points for gradient drawing
bool ON_Hatch::SetGradientRepeat | ( | double | repeat | ) |
Description: Set gradient repeat factor for gradient drawing
1 repeat reflected number of times between start and end point
< -1 repeat wrap number of times between start and end point any other value does not affect repeat on a gradient Returns: True if the repeat factor was successfully set
void ON_Hatch::SetGradientType | ( | ON_GradientType | gt | ) |
Description: Set the gradient fill type for this hatch
void ON_Hatch::SetPatternIndex | ( | int | index | ) |
Description: Set the index of the hatch's pattern Parameters: index - [in] pattern index to set Returns:
void ON_Hatch::SetPatternRotation | ( | double | rotation | ) |
Description: Sets the rotation applied to the hatch pattern when it is mapped to the hatch's plane Parameters: rotation - [in] The rotation in radians Remarks: The pattern is rotated counter-clockwise around the hatch's plane origin by this value
void ON_Hatch::SetPatternScale | ( | double | scale | ) |
Description: Sets the scale applied to the hatch pattern when it is mapped to the hatch's plane Parameters: scale - [in] The scale Remarks: The pattern is scaled around the hatch's plane origin by this value
void ON_Hatch::SetPlane | ( | const ON_Plane & | plane | ) |
Description: Set the plane defining the hatch's coordinate system Parameters: plane - [in] the plane to set Returns:
|
overridevirtual |
Description: Transform the object by a 4x4 xform matrix
Parameters: [in] xform - An ON_Xform with the transformation information Returns: true = Success false = Failure Remarks: The object has been transformed when the function returns.
Reimplemented from ON_Geometry.
|
overridevirtual |
Description: Low level archive writing tool used by ON_BinaryArchive::WriteObject(). Parameters: binary_archive - archive to write to Returns: Returns true if the write is successful. Remarks: Use ON_BinaryArchive::WriteObject() to write objects. This Write() function should just write the specific definition of this object. It should not write and any chunk typecode or length information.
The default implementation of this virtual function returns false and does nothing.
Reimplemented from ON_Object.