////////////////////////////////////////////////////////////////////////////// // // Copyright 2026 Autodesk, Inc. All rights reserved. // // Use of this software is subject to the terms of the Autodesk license // agreement provided at the time of installation or download, or which // otherwise accompanies this software. // ////////////////////////////////////////////////////////////////////////////// #pragma once #include #include "../FusionTypeDefs.h" #include // THIS CLASS WILL BE VISIBLE TO AN API CLIENT. // THIS HEADER FILE WILL BE GENERATED FROM NIDL. #include #ifdef FUSIONXINTERFACE_EXPORTS # ifdef __COMPILING_ADSK_FUSION_FEATURES_CPP__ # define ADSK_FUSION_FEATURES_API XI_EXPORT # else # define ADSK_FUSION_FEATURES_API # endif #else # define ADSK_FUSION_FEATURES_API XI_IMPORT #endif namespace adsk { namespace fusion { class ArrangeFeatures; class BaseFeatures; class BossFeatures; class BoundaryFillFeatures; class BoxFeatures; class ChamferFeatures; class CircularPatternFeatures; class CoilFeatures; class CombineFeatures; class CopyPasteBodies; class CornerClosureFeatures; class CustomFeatures; class CutPasteBodies; class CylinderFeatures; class DeleteFaceFeatures; class DeriveFeatures; class DraftFeatures; class EmbossFeatures; class ExtendFeatures; class ExtrudeFeatures; class Feature; class FilletFeatures; class FlangeFeatures; class FormFeatures; class HemFeatures; class HoleFeatures; class LoftFeatures; class MergeFacesFeatures; class MeshCombineFaceGroupsFeatures; class MeshCombineFeatures; class MeshConvertFeatures; class MeshGenerateFaceGroupsFeatures; class MeshPlaneCutFeatures; class MeshReduceFeatures; class MeshRemeshFeatures; class MeshRemoveFeatures; class MeshRepairFeatures; class MeshReverseNormalFeatures; class MeshSeparateFeatures; class MeshShellFeatures; class MeshSmoothFeatures; class MirrorFeatures; class MoveFeatures; class OffsetFacesFeatures; class OffsetFeatures; class PatchFeatures; class Path; class PathPatternFeatures; class PipeFeatures; class RectangularPatternFeatures; class RefoldFeatures; class RemoveFeatures; class ReplaceFaceFeatures; class ReverseNormalFeatures; class RevolveFeatures; class RibFeatures; class RipFeatures; class RuledSurfaceFeatures; class RuleFilletFeatures; class ScaleFeatures; class ShellFeatures; class SilhouetteSplitFeatures; class SphereFeatures; class SplitBodyFeatures; class SplitFaceFeatures; class StitchFeatures; class SurfaceDeleteFaceFeatures; class SweepFeatures; class TessellateFeatures; class ThickenFeatures; class ThreadFeatures; class TorusFeatures; class TrimFeatures; class UnfoldFeatures; class UnstitchFeatures; class UntrimFeatures; class VolumetricCustomFeatures; class VolumetricModelToMeshFeatures; class WebFeatures; }} namespace adsk { namespace fusion { /// The features collection which provides access to all existing features. This collection /// provides direct access to all features regardless of type. It also provides access /// to type specific collections where you can get features of a specific type and also create /// new features of that type. class Features : public core::Base { public: /// Function that returns the specified feature using an index into the collection. /// index : The index of the item within the collection to return. The first item in the collection has an index of 0. /// Returns the specified item or null if an invalid index was specified. core::Ptr item(size_t index) const; /// Returns the number of features in the collection. size_t count() const; /// Returns the collection that provides access to the extrude features within the component /// and supports the creation of new extrude features. core::Ptr extrudeFeatures() const; /// Returns the collection that provides access to the revolve features within the component /// and supports the creation of new revolved features. core::Ptr revolveFeatures() const; /// Returns the collection that provides access to the hole features within the component /// and supports the creation of new hole features. core::Ptr holeFeatures() const; /// Returns the collection that provides access to the fillet features within the component /// and supports the creation of new fillet features. core::Ptr filletFeatures() const; /// Returns the collection that provides access to the sweep features within the component /// and supports the creation of new sweep features. core::Ptr sweepFeatures() const; /// Returns the collection that provides access to the chamfer features within the component /// and supports the creation of new chamfer features. core::Ptr chamferFeatures() const; /// Returns the collection that provides access to the shell features within the component /// and supports the creation of new shell features. core::Ptr shellFeatures() const; /// Returns the collection that provides access to the mirror features within the component /// and supports the creation of new mirror features. core::Ptr mirrorFeatures() const; /// Returns the collection that provides access to the circular pattern features within the component /// and supports the creation of new circular pattern features. core::Ptr circularPatternFeatures() const; /// Returns the collection that provides access to the rectangular pattern features within the component /// and supports the creation of new rectangular pattern features. core::Ptr rectangularPatternFeatures() const; /// Returns the collection that provides access to the path pattern features within the component /// and supports the creation of new path pattern features. core::Ptr pathPatternFeatures() const; /// Returns the collection that provides access to the combine features within the component /// and supports the creation of new combine features. core::Ptr combineFeatures() const; /// Returns the collection that provides access to the thread features within the component /// and supports the creation of new thread features. core::Ptr threadFeatures() const; /// Returns the collection that provides access to the draft features within the component /// and supports the creation of new draft features. core::Ptr draftFeatures() const; /// Returns the collection that provides access to the scale features within the component /// and supports the creation of new scale features. core::Ptr scaleFeatures() const; /// Method that creates a Path used to define the shape of a Sweep feature. A Path is a contiguous /// set of curves that can be a combination of sketch curves and model edges. /// curve : A SketchCurve or an ObjectCollection containing multiple sketch entities and/or BRepEdge objects. If a single sketch curve /// or edge is input the isChain argument is checked to determine if connected curves (they do not need to be tangent) /// should be automatically found. If multiple curves are provided the isChain argument is always /// treated as false so you must provide all of the curves in the object collection that you want included in the path. /// The provided curves must all connect together in a single path. /// /// The input curves can be from multiple sketches and bodies and they need to geometrically connect for /// a valid path to be created. /// isChain : Optional argument, that defaults to true. If this argument is set to true, all curves and edges that are end point /// connected to the single input curve will be found and used to create the path. /// This argument is only used when the first argument is a single SketchCurve/BRepEdge object. /// Returns the newly created Path. core::Ptr createPath(const core::Ptr& curve, bool isChain = true); /// Returns the collection that provides access to the replaceFace features within the component /// and supports the creation of new replaceFace features. core::Ptr replaceFaceFeatures() const; /// Returns the collection that provides access to the Move features within the component /// and supports the creation of new Move features. core::Ptr moveFeatures() const; /// Returns the collection that provides access to the SplitFace features within the component and supports the creation /// of new SplitFace features core::Ptr splitFaceFeatures() const; /// Returns the collection that provides access to the SplitBody features within the component and supports the creation /// of new SplitBody features core::Ptr splitBodyFeatures() const; /// Returns the collection that provides access to the Parting Line Split features within the component and supports /// the creation of new Parting Line Split features core::Ptr silhouetteSplitFeatures() const; /// Returns the collection that provides access to the Offset features within the component /// and supports the creation of new Offset features. core::Ptr offsetFeatures() const; /// Returns the collection that provides access to the Extend features within the component /// and supports the creation of new Extend features. core::Ptr extendFeatures() const; /// Returns the collection that provides access to the Stitch features within the component /// and supports the creation of new Stitch features. core::Ptr stitchFeatures() const; /// Returns the collection that provides access to the Boundary Fill features within the component /// and supports the creation of new Boundary Fill features. core::Ptr boundaryFillFeatures() const; /// Returns the collection that provides access to the Trim features within the component /// and supports the creation of new Trim features. core::Ptr trimFeatures() const; /// Returns the collection that provides access to the Thicken features within the component /// and supports the creation of new Thicken features. core::Ptr thickenFeatures() const; /// Returns the collection that provides access to the Unstitch features within the component /// and supports the creation of new Unstitch features. core::Ptr unstitchFeatures() const; /// Returns the collection that provides access to the Remove features within the component /// and supports the creation of new Remove features. core::Ptr removeFeatures() const; /// Returns the collection that provides access to the existing base features /// and supports the creation of new base features. A base feature represents /// a body that is non-parametric. core::Ptr baseFeatures() const; /// Returns the collection that provides access to the Coil Primitive features within the component. core::Ptr coilFeatures() const; /// Returns the collection that provides access to the existing box features. core::Ptr boxFeatures() const; /// Returns the collection that provides access to the existing cylinder features. core::Ptr cylinderFeatures() const; /// Returns the collection that provides access to the existing sphere features. core::Ptr sphereFeatures() const; /// Returns the collection that provides access to the existing torus features. core::Ptr torusFeatures() const; /// Returns the collection that provides access to the existing pipe features. core::Ptr pipeFeatures() const; /// Returns the collection that provides access to the existing rib features. core::Ptr ribFeatures() const; /// Returns the collection that provides access to the existing web features. core::Ptr webFeatures() const; /// Returns the collection that provides access to the existing form features. core::Ptr formFeatures() const; /// Returns the collection that provides access to the Reverse Normal features within the component /// and supports the creation of new Reverse Normal features. core::Ptr reverseNormalFeatures() const; /// Returns the collection that provides access to the Patch features within the component /// and supports the creation of new Patch features. core::Ptr patchFeatures() const; /// Returns the collection that provides access to the existing loft features and /// supports the creation of new loft features. core::Ptr loftFeatures() const; /// !!!!! Warning !!!!! /// ! This has been retired; please see the help for more info /// !!!!! Warning !!!!! /// /// Returns the collection that provides access to the existing rule fillet features. core::Ptr ruleFilletFeatures() const; /// Function that returns the specified feature using the name of the feature. /// name : The name of the feature within the collection to return. This is the same name seen in the timeline. /// Returns the specified item or null if a feature matching the name was not found. core::Ptr itemByName(const std::string& name) const; /// Returns the collection that provides access to the existing Surface Delete Face features. core::Ptr surfaceDeleteFaceFeatures() const; /// Returns the collection that provides access to the existing Delete Face features. core::Ptr deleteFaceFeatures() const; /// Returns the collection that provides access to the existing Offset Face features. core::Ptr offsetFacesFeatures() const; /// Returns the collection that provides access to the existing copy-paste features /// and supports the creation of new copy-paste features. core::Ptr copyPasteBodies() const; /// Returns the collection that provides access to the existing cut-paste features /// and supports the creation of new cut-paste features. core::Ptr cutPasteBodies() const; /// Returns the collection that provides access to the existing flange features. core::Ptr flangeFeatures() const; /// Returns the collection that provides access to the existing unfold features. core::Ptr unfoldFeatures() const; /// Returns the collection that provides access to the existing refold features. core::Ptr refoldFeatures() const; /// Returns the collection that provides access to the Ruled Surface features within the component /// and supports the creation of new Ruled Surface features. core::Ptr ruledSurfaceFeatures() const; /// !!!!! Warning !!!!! /// ! This is in preview state; please see the help for more info /// !!!!! Warning !!!!! /// /// Returns the collection that provides access to the custom features within the component /// and supports the creation of new custom features. core::Ptr customFeatures() const; /// Returns the collection that provides access to the Untrim features within the component /// and supports the creation of new Untrim features. core::Ptr untrimFeatures() const; /// Returns the collection that provides access to the boss features within the component /// and supports the creation of new boss features. core::Ptr bossFeatures() const; /// !!!!! Warning !!!!! /// ! This is in preview state; please see the help for more info /// !!!!! Warning !!!!! /// /// Returns the collection that provides access to the mesh repair features within the component /// and supports the creation of new mesh repair features. core::Ptr meshRepairFeatures() const; /// !!!!! Warning !!!!! /// ! This is in preview state; please see the help for more info /// !!!!! Warning !!!!! /// /// Returns the collection that provides access to the mesh smooth features within the component /// and supports the creation of new mesh smooth features. core::Ptr meshSmoothFeatures() const; /// !!!!! Warning !!!!! /// ! This is in preview state; please see the help for more info /// !!!!! Warning !!!!! /// /// Returns the collection that provides access to the mesh reduce features within the component /// and supports the creation of new mesh reduce features. core::Ptr meshReduceFeatures() const; /// !!!!! Warning !!!!! /// ! This is in preview state; please see the help for more info /// !!!!! Warning !!!!! /// /// Returns the collection that provides access to the mesh remesh features within the component /// and supports the creation of new mesh remesh features. core::Ptr meshRemeshFeatures() const; /// !!!!! Warning !!!!! /// ! This is in preview state; please see the help for more info /// !!!!! Warning !!!!! /// /// Returns the collection that provides access to the mesh generate facegroup features /// within the component and supports the creation of new mesh generate facegroup features. core::Ptr meshGenerateFaceGroupsFeatures() const; /// !!!!! Warning !!!!! /// ! This is in preview state; please see the help for more info /// !!!!! Warning !!!!! /// /// Returns the collection that provides access to the mesh shell features /// within the component and supports the creation of new mesh shell features. core::Ptr meshShellFeatures() const; /// !!!!! Warning !!!!! /// ! This is in preview state; please see the help for more info /// !!!!! Warning !!!!! /// /// Returns the collection that provides access to the tessellate features /// within the component and supports the creation of new tessellate features. core::Ptr tessellateFeatures() const; /// !!!!! Warning !!!!! /// ! This is in preview state; please see the help for more info /// !!!!! Warning !!!!! /// /// Returns the collection that provides access to the mesh combine features /// within the component and supports the creation of new mesh combine features. core::Ptr meshCombineFeatures() const; /// Returns the collection that provides access to the existing Rip features. core::Ptr ripFeatures() const; /// !!!!! Warning !!!!! /// ! This is hidden and not officially supported /// !!!!! Warning !!!!! /// /// Returns the collection that provides access to the mesh plane cut features /// within the component and supports the creation of new mesh plane cut features. core::Ptr meshPlaneCutFeatures() const; /// !!!!! Warning !!!!! /// ! This is in preview state; please see the help for more info /// !!!!! Warning !!!!! /// /// Returns the collection that provides access to the mesh convert features /// within the component and supports the creation of new mesh convert features. core::Ptr meshConvertFeatures() const; /// !!!!! Warning !!!!! /// ! This is in preview state; please see the help for more info /// !!!!! Warning !!!!! /// /// Returns the collection that provides access to the mesh combine face groups features /// within the component and supports the creation of new mesh combine face groups features. core::Ptr meshCombineFaceGroupsFeatures() const; /// Returns the collection object that supports the ability to merge faces. /// Merging faces is currently limited to a Direct Modeling design or a body in a base feature. /// The result of merging faces is a direct B-Rep modification, and the change is not represented /// as a feature in the browser. core::Ptr mergeFacesFeatures() const; /// !!!!! Warning !!!!! /// ! This is in preview state; please see the help for more info /// !!!!! Warning !!!!! /// /// Returns the collection that provides access to the mesh separate features /// within the component and supports the creation of new mesh separate features. core::Ptr meshSeparateFeatures() const; /// !!!!! Warning !!!!! /// ! This is in preview state; please see the help for more info /// !!!!! Warning !!!!! /// /// Returns the collection that provides access to the mesh reverse normal features /// within the component and supports the creation of new mesh reverse normal features. core::Ptr meshReverseNormalFeatures() const; /// !!!!! Warning !!!!! /// ! This is in preview state; please see the help for more info /// !!!!! Warning !!!!! /// /// Returns the collection that provides access to the Arrange features /// within the component and supports the creation of new Arrange features. core::Ptr arrangeFeatures() const; /// !!!!! Warning !!!!! /// ! This is in preview state; please see the help for more info /// !!!!! Warning !!!!! /// /// Returns the collection that provides access to volumetric custom features within the component /// and supports the creation of new volumetric custom features. core::Ptr volumetricCustomFeatures() const; /// !!!!! Warning !!!!! /// ! This is in preview state; please see the help for more info /// !!!!! Warning !!!!! /// /// Returns the collection that provides access to the Volumetric Model to Mesh features /// within the component and supports the creation of new Volumetric Model to Mesh features. core::Ptr volumetricModelToMeshFeatures() const; /// Returns the collection that provides access to the emboss features /// within the component and supports the creation of new emboss features. core::Ptr embossFeatures() const; /// Returns the collection that provides access to the existing Hem features. core::Ptr hemFeatures() const; /// !!!!! Warning !!!!! /// ! This is in preview state; please see the help for more info /// !!!!! Warning !!!!! /// /// Returns the collection that provides access to the mesh remove features /// within the component and supports the creation of new mesh remove features. core::Ptr meshRemoveFeatures() const; /// Returns the collection that provides access to the Derive features /// within the component and supports the creation of new Derive features. core::Ptr deriveFeatures() const; /// !!!!! Warning !!!!! /// ! This is in preview state; please see the help for more info /// !!!!! Warning !!!!! /// /// Returns the collection that provides access to the existing Corner Closure features. core::Ptr cornerClosureFeatures() const; typedef Feature iterable_type; template void copyTo(OutputIterator result); ADSK_FUSION_FEATURES_API static const char* classType(); ADSK_FUSION_FEATURES_API const char* objectType() const override; ADSK_FUSION_FEATURES_API void* queryInterface(const char* id) const override; ADSK_FUSION_FEATURES_API static const char* interfaceId() { return classType(); } private: // Raw interface virtual Feature* item_raw(size_t index) const = 0; virtual size_t count_raw() const = 0; virtual ExtrudeFeatures* extrudeFeatures_raw() const = 0; virtual RevolveFeatures* revolveFeatures_raw() const = 0; virtual HoleFeatures* holeFeatures_raw() const = 0; virtual FilletFeatures* filletFeatures_raw() const = 0; virtual SweepFeatures* sweepFeatures_raw() const = 0; virtual ChamferFeatures* chamferFeatures_raw() const = 0; virtual ShellFeatures* shellFeatures_raw() const = 0; virtual MirrorFeatures* mirrorFeatures_raw() const = 0; virtual CircularPatternFeatures* circularPatternFeatures_raw() const = 0; virtual RectangularPatternFeatures* rectangularPatternFeatures_raw() const = 0; virtual PathPatternFeatures* pathPatternFeatures_raw() const = 0; virtual CombineFeatures* combineFeatures_raw() const = 0; virtual ThreadFeatures* threadFeatures_raw() const = 0; virtual DraftFeatures* draftFeatures_raw() const = 0; virtual ScaleFeatures* scaleFeatures_raw() const = 0; virtual Path* createPath_raw(core::Base* curve, bool isChain) = 0; virtual ReplaceFaceFeatures* replaceFaceFeatures_raw() const = 0; virtual MoveFeatures* moveFeatures_raw() const = 0; virtual SplitFaceFeatures* splitFaceFeatures_raw() const = 0; virtual SplitBodyFeatures* splitBodyFeatures_raw() const = 0; virtual SilhouetteSplitFeatures* silhouetteSplitFeatures_raw() const = 0; virtual OffsetFeatures* offsetFeatures_raw() const = 0; virtual ExtendFeatures* extendFeatures_raw() const = 0; virtual StitchFeatures* stitchFeatures_raw() const = 0; virtual BoundaryFillFeatures* boundaryFillFeatures_raw() const = 0; virtual TrimFeatures* trimFeatures_raw() const = 0; virtual ThickenFeatures* thickenFeatures_raw() const = 0; virtual UnstitchFeatures* unstitchFeatures_raw() const = 0; virtual RemoveFeatures* removeFeatures_raw() const = 0; virtual BaseFeatures* baseFeatures_raw() const = 0; virtual CoilFeatures* coilFeatures_raw() const = 0; virtual BoxFeatures* boxFeatures_raw() const = 0; virtual CylinderFeatures* cylinderFeatures_raw() const = 0; virtual SphereFeatures* sphereFeatures_raw() const = 0; virtual TorusFeatures* torusFeatures_raw() const = 0; virtual PipeFeatures* pipeFeatures_raw() const = 0; virtual RibFeatures* ribFeatures_raw() const = 0; virtual WebFeatures* webFeatures_raw() const = 0; virtual FormFeatures* formFeatures_raw() const = 0; virtual ReverseNormalFeatures* reverseNormalFeatures_raw() const = 0; virtual PatchFeatures* patchFeatures_raw() const = 0; virtual LoftFeatures* loftFeatures_raw() const = 0; virtual RuleFilletFeatures* ruleFilletFeatures_raw() const = 0; virtual Feature* itemByName_raw(const char* name) const = 0; virtual SurfaceDeleteFaceFeatures* surfaceDeleteFaceFeatures_raw() const = 0; virtual DeleteFaceFeatures* deleteFaceFeatures_raw() const = 0; virtual OffsetFacesFeatures* offsetFacesFeatures_raw() const = 0; virtual CopyPasteBodies* copyPasteBodies_raw() const = 0; virtual CutPasteBodies* cutPasteBodies_raw() const = 0; virtual FlangeFeatures* flangeFeatures_raw() const = 0; virtual UnfoldFeatures* unfoldFeatures_raw() const = 0; virtual RefoldFeatures* refoldFeatures_raw() const = 0; virtual RuledSurfaceFeatures* ruledSurfaceFeatures_raw() const = 0; virtual CustomFeatures* customFeatures_raw() const = 0; virtual UntrimFeatures* untrimFeatures_raw() const = 0; virtual BossFeatures* bossFeatures_raw() const = 0; virtual MeshRepairFeatures* meshRepairFeatures_raw() const = 0; virtual MeshSmoothFeatures* meshSmoothFeatures_raw() const = 0; virtual MeshReduceFeatures* meshReduceFeatures_raw() const = 0; virtual MeshRemeshFeatures* meshRemeshFeatures_raw() const = 0; virtual MeshGenerateFaceGroupsFeatures* meshGenerateFaceGroupsFeatures_raw() const = 0; virtual MeshShellFeatures* meshShellFeatures_raw() const = 0; virtual TessellateFeatures* tessellateFeatures_raw() const = 0; virtual MeshCombineFeatures* meshCombineFeatures_raw() const = 0; virtual RipFeatures* ripFeatures_raw() const = 0; virtual MeshPlaneCutFeatures* meshPlaneCutFeatures_raw() const = 0; virtual MeshConvertFeatures* meshConvertFeatures_raw() const = 0; virtual MeshCombineFaceGroupsFeatures* meshCombineFaceGroupsFeatures_raw() const = 0; virtual MergeFacesFeatures* mergeFacesFeatures_raw() const = 0; virtual MeshSeparateFeatures* meshSeparateFeatures_raw() const = 0; virtual MeshReverseNormalFeatures* meshReverseNormalFeatures_raw() const = 0; virtual ArrangeFeatures* arrangeFeatures_raw() const = 0; virtual VolumetricCustomFeatures* volumetricCustomFeatures_raw() const = 0; virtual VolumetricModelToMeshFeatures* volumetricModelToMeshFeatures_raw() const = 0; virtual EmbossFeatures* embossFeatures_raw() const = 0; virtual HemFeatures* hemFeatures_raw() const = 0; virtual MeshRemoveFeatures* meshRemoveFeatures_raw() const = 0; virtual DeriveFeatures* deriveFeatures_raw() const = 0; virtual CornerClosureFeatures* cornerClosureFeatures_raw() const = 0; }; // Inline wrappers inline core::Ptr Features::item(size_t index) const { core::Ptr res = item_raw(index); return res; } inline size_t Features::count() const { size_t res = count_raw(); return res; } inline core::Ptr Features::extrudeFeatures() const { core::Ptr res = extrudeFeatures_raw(); return res; } inline core::Ptr Features::revolveFeatures() const { core::Ptr res = revolveFeatures_raw(); return res; } inline core::Ptr Features::holeFeatures() const { core::Ptr res = holeFeatures_raw(); return res; } inline core::Ptr Features::filletFeatures() const { core::Ptr res = filletFeatures_raw(); return res; } inline core::Ptr Features::sweepFeatures() const { core::Ptr res = sweepFeatures_raw(); return res; } inline core::Ptr Features::chamferFeatures() const { core::Ptr res = chamferFeatures_raw(); return res; } inline core::Ptr Features::shellFeatures() const { core::Ptr res = shellFeatures_raw(); return res; } inline core::Ptr Features::mirrorFeatures() const { core::Ptr res = mirrorFeatures_raw(); return res; } inline core::Ptr Features::circularPatternFeatures() const { core::Ptr res = circularPatternFeatures_raw(); return res; } inline core::Ptr Features::rectangularPatternFeatures() const { core::Ptr res = rectangularPatternFeatures_raw(); return res; } inline core::Ptr Features::pathPatternFeatures() const { core::Ptr res = pathPatternFeatures_raw(); return res; } inline core::Ptr Features::combineFeatures() const { core::Ptr res = combineFeatures_raw(); return res; } inline core::Ptr Features::threadFeatures() const { core::Ptr res = threadFeatures_raw(); return res; } inline core::Ptr Features::draftFeatures() const { core::Ptr res = draftFeatures_raw(); return res; } inline core::Ptr Features::scaleFeatures() const { core::Ptr res = scaleFeatures_raw(); return res; } inline core::Ptr Features::createPath(const core::Ptr& curve, bool isChain) { core::Ptr res = createPath_raw(curve.get(), isChain); return res; } inline core::Ptr Features::replaceFaceFeatures() const { core::Ptr res = replaceFaceFeatures_raw(); return res; } inline core::Ptr Features::moveFeatures() const { core::Ptr res = moveFeatures_raw(); return res; } inline core::Ptr Features::splitFaceFeatures() const { core::Ptr res = splitFaceFeatures_raw(); return res; } inline core::Ptr Features::splitBodyFeatures() const { core::Ptr res = splitBodyFeatures_raw(); return res; } inline core::Ptr Features::silhouetteSplitFeatures() const { core::Ptr res = silhouetteSplitFeatures_raw(); return res; } inline core::Ptr Features::offsetFeatures() const { core::Ptr res = offsetFeatures_raw(); return res; } inline core::Ptr Features::extendFeatures() const { core::Ptr res = extendFeatures_raw(); return res; } inline core::Ptr Features::stitchFeatures() const { core::Ptr res = stitchFeatures_raw(); return res; } inline core::Ptr Features::boundaryFillFeatures() const { core::Ptr res = boundaryFillFeatures_raw(); return res; } inline core::Ptr Features::trimFeatures() const { core::Ptr res = trimFeatures_raw(); return res; } inline core::Ptr Features::thickenFeatures() const { core::Ptr res = thickenFeatures_raw(); return res; } inline core::Ptr Features::unstitchFeatures() const { core::Ptr res = unstitchFeatures_raw(); return res; } inline core::Ptr Features::removeFeatures() const { core::Ptr res = removeFeatures_raw(); return res; } inline core::Ptr Features::baseFeatures() const { core::Ptr res = baseFeatures_raw(); return res; } inline core::Ptr Features::coilFeatures() const { core::Ptr res = coilFeatures_raw(); return res; } inline core::Ptr Features::boxFeatures() const { core::Ptr res = boxFeatures_raw(); return res; } inline core::Ptr Features::cylinderFeatures() const { core::Ptr res = cylinderFeatures_raw(); return res; } inline core::Ptr Features::sphereFeatures() const { core::Ptr res = sphereFeatures_raw(); return res; } inline core::Ptr Features::torusFeatures() const { core::Ptr res = torusFeatures_raw(); return res; } inline core::Ptr Features::pipeFeatures() const { core::Ptr res = pipeFeatures_raw(); return res; } inline core::Ptr Features::ribFeatures() const { core::Ptr res = ribFeatures_raw(); return res; } inline core::Ptr Features::webFeatures() const { core::Ptr res = webFeatures_raw(); return res; } inline core::Ptr Features::formFeatures() const { core::Ptr res = formFeatures_raw(); return res; } inline core::Ptr Features::reverseNormalFeatures() const { core::Ptr res = reverseNormalFeatures_raw(); return res; } inline core::Ptr Features::patchFeatures() const { core::Ptr res = patchFeatures_raw(); return res; } inline core::Ptr Features::loftFeatures() const { core::Ptr res = loftFeatures_raw(); return res; } inline core::Ptr Features::ruleFilletFeatures() const { core::Ptr res = ruleFilletFeatures_raw(); return res; } inline core::Ptr Features::itemByName(const std::string& name) const { core::Ptr res = itemByName_raw(name.c_str()); return res; } inline core::Ptr Features::surfaceDeleteFaceFeatures() const { core::Ptr res = surfaceDeleteFaceFeatures_raw(); return res; } inline core::Ptr Features::deleteFaceFeatures() const { core::Ptr res = deleteFaceFeatures_raw(); return res; } inline core::Ptr Features::offsetFacesFeatures() const { core::Ptr res = offsetFacesFeatures_raw(); return res; } inline core::Ptr Features::copyPasteBodies() const { core::Ptr res = copyPasteBodies_raw(); return res; } inline core::Ptr Features::cutPasteBodies() const { core::Ptr res = cutPasteBodies_raw(); return res; } inline core::Ptr Features::flangeFeatures() const { core::Ptr res = flangeFeatures_raw(); return res; } inline core::Ptr Features::unfoldFeatures() const { core::Ptr res = unfoldFeatures_raw(); return res; } inline core::Ptr Features::refoldFeatures() const { core::Ptr res = refoldFeatures_raw(); return res; } inline core::Ptr Features::ruledSurfaceFeatures() const { core::Ptr res = ruledSurfaceFeatures_raw(); return res; } inline core::Ptr Features::customFeatures() const { core::Ptr res = customFeatures_raw(); return res; } inline core::Ptr Features::untrimFeatures() const { core::Ptr res = untrimFeatures_raw(); return res; } inline core::Ptr Features::bossFeatures() const { core::Ptr res = bossFeatures_raw(); return res; } inline core::Ptr Features::meshRepairFeatures() const { core::Ptr res = meshRepairFeatures_raw(); return res; } inline core::Ptr Features::meshSmoothFeatures() const { core::Ptr res = meshSmoothFeatures_raw(); return res; } inline core::Ptr Features::meshReduceFeatures() const { core::Ptr res = meshReduceFeatures_raw(); return res; } inline core::Ptr Features::meshRemeshFeatures() const { core::Ptr res = meshRemeshFeatures_raw(); return res; } inline core::Ptr Features::meshGenerateFaceGroupsFeatures() const { core::Ptr res = meshGenerateFaceGroupsFeatures_raw(); return res; } inline core::Ptr Features::meshShellFeatures() const { core::Ptr res = meshShellFeatures_raw(); return res; } inline core::Ptr Features::tessellateFeatures() const { core::Ptr res = tessellateFeatures_raw(); return res; } inline core::Ptr Features::meshCombineFeatures() const { core::Ptr res = meshCombineFeatures_raw(); return res; } inline core::Ptr Features::ripFeatures() const { core::Ptr res = ripFeatures_raw(); return res; } inline core::Ptr Features::meshPlaneCutFeatures() const { core::Ptr res = meshPlaneCutFeatures_raw(); return res; } inline core::Ptr Features::meshConvertFeatures() const { core::Ptr res = meshConvertFeatures_raw(); return res; } inline core::Ptr Features::meshCombineFaceGroupsFeatures() const { core::Ptr res = meshCombineFaceGroupsFeatures_raw(); return res; } inline core::Ptr Features::mergeFacesFeatures() const { core::Ptr res = mergeFacesFeatures_raw(); return res; } inline core::Ptr Features::meshSeparateFeatures() const { core::Ptr res = meshSeparateFeatures_raw(); return res; } inline core::Ptr Features::meshReverseNormalFeatures() const { core::Ptr res = meshReverseNormalFeatures_raw(); return res; } inline core::Ptr Features::arrangeFeatures() const { core::Ptr res = arrangeFeatures_raw(); return res; } inline core::Ptr Features::volumetricCustomFeatures() const { core::Ptr res = volumetricCustomFeatures_raw(); return res; } inline core::Ptr Features::volumetricModelToMeshFeatures() const { core::Ptr res = volumetricModelToMeshFeatures_raw(); return res; } inline core::Ptr Features::embossFeatures() const { core::Ptr res = embossFeatures_raw(); return res; } inline core::Ptr Features::hemFeatures() const { core::Ptr res = hemFeatures_raw(); return res; } inline core::Ptr Features::meshRemoveFeatures() const { core::Ptr res = meshRemoveFeatures_raw(); return res; } inline core::Ptr Features::deriveFeatures() const { core::Ptr res = deriveFeatures_raw(); return res; } inline core::Ptr Features::cornerClosureFeatures() const { core::Ptr res = cornerClosureFeatures_raw(); return res; } template inline void Features::copyTo(OutputIterator result) { for (size_t i = 0;i < count();++i) { *result = item(i); ++result; } } }// namespace fusion }// namespace adsk #undef ADSK_FUSION_FEATURES_API