Archicad 29 C++ API
|
Functions providing a way to access existing user input methods or creating custom user input and feedback. More...
Classes | |
class | ACAPI::InputHandler |
A class to handle input related operations, like manipulating the input position and starting an input. More... | |
struct | API_PolyArc |
Representation of an arc segment of a two dimensional polygon. More... | |
struct | API_Neig |
Describes a neig point of an element. More... | |
struct | API_MagicWandInfo |
Curve tracing parameters. More... | |
struct | API_CursorSet |
Cursor set definition for a user input. More... | |
struct | API_RubberLineType |
Rubber line definition. More... | |
struct | API_RubberArcType |
Rubber line definition. More... | |
struct | API_RubberLineInfo |
Parameters of the rubber line callback function. More... | |
struct | API_GetPointType |
Parameters of the point input operation. More... | |
struct | API_Get3DComponentType |
Parameters of the get component type in 3D operation. More... | |
struct | API_GetLineType |
Parameters of the line input operation. More... | |
struct | API_GetArcType |
Parameters of the arc input operation. More... | |
struct | API_RubberPolyCallbacks |
Parameters of the polygon input operation. More... | |
struct | API_GetPolyType |
Parameters of the polygon input operation. More... | |
struct | API_ConstraintPars |
Parameters of the drawing constraint. More... | |
Typedefs | |
typedef void | RubberLineInfoProc(const API_RubberLineInfo *info) |
Callback function for custom feedback drawing. | |
typedef void | Get3DComponentProc(const API_Get3DComponentType *info) |
Callback function for getting elem informations online (realtime). | |
typedef char | API_NeigFilter[API_NeigFilterSize] |
Structure for filtering neigs during user input. | |
Enumerations | |
enum | API_NeigElemPartID { APINeigElemPart_None = 0 , APINeigElemPart_Edge , APINeigElemPart_Vertex , APINeigElemPart_Face , APINeigElemPart_Subelem } |
Type of the element part in case of partial selection (currently available with Morph only) More... | |
enum | API_CursorFormID { APICursor_UserDefined , APICursor_Default , APICursor_Spin , APICursor_SystemArrow , APICursor_SystemClock , APICursor_IBeam , APICursor_Drag , APICursor_Trident , APICursor_ZoomIn , APICursor_ZoomOut , APICursor_Hand , APICursor_MiniHand , APICursor_Cross , APICursor_Check , APICursor_CheckRef , APICursor_Branch , APICursor_BranchRef , APICursor_XPoint , APICursor_Normal , APICursor_Tangent , APICursor_Arrow , APICursor_ArrowCheck , APICursor_ArrowCheckRef , APICursor_ArrowBranch , APICursor_ArrowBranchRef , APICursor_ArrowXPoint , APICursor_ArrowNormal , APICursor_ArrowTangent , APICursor_Pencil , APICursor_PencilCheck , APICursor_PencilCheckRef , APICursor_PencilBranch , APICursor_PencilBranchRef , APICursor_PencilXPoint , APICursor_PencilNormal , APICursor_PencilTangent , APICursor_Eye , APICursor_DoubleEye , APICursor_Hammer , APICursor_MagicWand , APICursor_Trimmer , APICursor_TrimmerFull , APICursor_Picker , APICursor_PickerFull , APICursor_Injection , APICursor_InjectionFull } |
Predefined cursor forms for customizing the user input. More... | |
enum | API_InitNeigFilterID { APIInitNeigFilter_Full , APIInitNeigFilter_Empty , APIInitNeigFilter_On , APIInitNeigFilter_Node } |
Type of the neig filter initialization. More... | |
enum | API_ConstraintType { APIConst_X = 1 , APIConst_Y = 2 , APIConst_Z = 3 , APIConst_A = 4 , APIConst_R = 5 } |
Type of the drawing constraint. More... | |
Functions | |
Result< InputHandler > | ACAPI::CreateInputHandler () |
A function to create an InputHandler instance, that lets you handle input related operations. | |
GSErrCode | ACAPI_UserInput_GetMagicWandSets (API_MagicWandInfo *magicWandInfo) |
Returns information on curve tracing parameters. | |
GSErrCode | ACAPI_UserInput_InitNeigFilter (API_NeigFilter *neigFilter, API_InitNeigFilterID initNeigFilterID) |
Initializes the neig filter for an input. | |
GSErrCode | ACAPI_UserInput_SetNeigFilter (API_NeigFilter *neigFilter, API_NeigID neigID) |
Sets one of the neig types in the neig filter to be filtered. | |
GSErrCode | ACAPI_UserInput_ClearNeigFilter (API_NeigFilter *neigFilter, API_NeigID neigID) |
Sets one of the neig types in the neig filter not to be filtered. | |
GSErrCode | ACAPI_UserInput_GetPoint (API_GetPointType *pointInfo, RubberLineInfoProc *rubberLineInfoProc=nullptr, Get3DComponentProc *get3DComponentProc=nullptr) |
Performs a point input. | |
GSErrCode | ACAPI_UserInput_GetLine (API_GetLineType *lineInfo, RubberLineInfoProc *rubberLineInfoProc=nullptr) |
Performs a line input. | |
GSErrCode | ACAPI_UserInput_GetArc (API_GetArcType *arcInfo, RubberLineInfoProc *rubberLineInfoProc=nullptr) |
Performs an arc input. | |
GSErrCode | ACAPI_UserInput_GetPoly (API_GetPolyType *polyInfo, API_RubberPolyCallbacks *rubberPolyCallbacks=nullptr) |
Performs polygon input. | |
GSErrCode | ACAPI_UserInput_DrawRubberLine (API_RubberLineType *rubberLine) |
Draws graphical feedback during an input process. | |
GSErrCode | ACAPI_UserInput_DrawRubberArc (API_RubberArcType *rubberArc) |
Draws graphical feedback during an input process. | |
GSErrCode | ACAPI_UserInput_CompleteUserInput () |
Finishes the user input. | |
GSErrCode | ACAPI_UserInput_CancelUserInput () |
Cancels the user input. | |
GSErrCode | ACAPI_UserInput_SetConstraint (API_ConstraintPars *constraintPars) |
Set the drawing constraint for graphical user input. | |
GSErrCode | ACAPI_UserInput_ResetConstraint () |
Dissolve the drawing constraint. | |
void | ACAPI_UserInput_SetElementHighlight (const GS::HashTable< API_Guid, API_RGBAColor > &highlightedElems, const GS::Optional< bool > &wireframe3D=GS::NoValue, const GS::Optional< API_RGBAColor > &nonHighlightedElemsColor=GS::NoValue) |
Highlight elements in the 2D (floor plan and section) and 3D window. | |
GSErrCode | ACAPI_Markup_PDFImportOptions (const GS::UniString &parentName) |
Opens the Issue Import from PDF file Options dialog where you can choose an option for how the imported Issues should appear in Issue Organizer. | |
Functions providing a way to access existing user input methods or creating custom user input and feedback.
typedef char API_NeigFilter[API_NeigFilterSize] |
Structure for filtering neigs during user input.
typedef void Get3DComponentProc(const API_Get3DComponentType *info) |
Callback function for getting elem informations online (realtime).
info | Information on the actual input state. |
typedef void RubberLineInfoProc(const API_RubberLineInfo *info) |
Callback function for custom feedback drawing.
info | Information on the actual input state. |
enum API_ConstraintType |
Type of the drawing constraint.
API_ConstraintType
see the ACAPI_UserInput_SetConstraint function. When fixing the input angle (APIConst_A
), constValue
is defined in radian enum API_CursorFormID |
Predefined cursor forms for customizing the user input.
Form | Icon | Description |
---|---|---|
APICursor_UserDefined | Cursor defined by resource ID (NOT USED) | |
APICursor_Default | Default cursor shape | |
APICursor_Spin |
| Spin cursor (rotating beach balls) |
APICursor_SystemArrow | System arrow cursor | |
APICursor_SystemClock | System clock cursor | |
APICursor_IBeam |
| I beam cursor for text editing |
APICursor_Drag |
| Cursor for dragging windows |
APICursor_Trident |
| Trident cursor for dragging rollrect |
APICursor_ZoomIn |
| Zoom in cursor |
APICursor_ZoomOut |
| Zoom out cursor |
APICursor_Hand |
| Hand cursor |
APICursor_MiniHand |
| Small hand cursor |
APICursor_Cross |
| Cross cursor |
APICursor_Check |
| Check cursor (indicates ...Neig) |
APICursor_CheckRef |
| Check cursor (thick) |
APICursor_Branch |
| Branch cursor (indicates ...OnNeig) |
APICursor_BranchRef |
| Branch cursor (thick) |
APICursor_XPoint |
| Cross point cursor |
APICursor_Normal |
| Normal (perpendicular) cursor |
APICursor_Tangent |
| Tangent (osculation) cursor |
APICursor_Arrow |
| Arrow cursor (selection mode) |
APICursor_ArrowCheck |
| Check cursor in arrow mode |
APICursor_ArrowCheckRef |
| Check cursor in arrow mode (thick) |
APICursor_ArrowBranch |
| Branch cursor in arrow mode |
APICursor_ArrowBranchRef |
| Branch cursor in arrow mode (thick) |
APICursor_ArrowXPoint |
| Cross point cursor in arrow mode |
APICursor_ArrowNormal |
| Normal cursor in arrow mode |
APICursor_ArrowTangent |
| Tangent cursor in arrow mode |
APICursor_Pencil |
| Pencil shaped cursor during input |
APICursor_PencilCheck |
| Check cursor during input |
APICursor_PencilCheckRef |
| Check cursor during input (thick) |
APICursor_PencilBranch |
| Branch cursor during input |
APICursor_PencilBranchRef |
| Branch cursor during input (thick) |
APICursor_PencilXPoint |
| Cross point cursor during input |
APICursor_PencilNormal |
| Normal cursor during input |
APICursor_PencilTangent |
| Tangent cursor during input |
APICursor_Eye |
| Eye cursor for window/door opening |
APICursor_DoubleEye |
| Double eye for window/door position |
APICursor_Hammer |
| Hammer cursor for completing input |
APICursor_MagicWand |
| Magic wand cursor |
APICursor_Trimmer |
| Scissors shaped cursor |
APICursor_TrimmerFull |
| Scissors shaped cursor (thick) |
APICursor_Picker |
| Dropper shaped cursor |
APICursor_PickerFull |
| Dropper shaped cursor (thick) |
APICursor_Injection |
| Injection shaped cursor |
APICursor_InjectionFull |
| Injection shaped cursor (thick) |
For example of using custom cursor sets see ACAPI_UserInput_GetArc.
enum API_InitNeigFilterID |
Type of the neig filter initialization.
API_InitNeigFilterID
see the ACAPI_UserInput_InitNeigFilter function. enum API_NeigElemPartID |
Type of the element part in case of partial selection (currently available with Morph only)
GSErrCode ACAPI_Markup_PDFImportOptions | ( | const GS::UniString & | parentName | ) |
Opens the Issue Import from PDF file Options dialog where you can choose an option for how the imported Issues should appear in Issue Organizer.
parentName | Archicad Issue's name as a parent of the imported issues. The imported Issues will be inserted as sub-Issues. |
GSErrCode ACAPI_UserInput_CancelUserInput | ( | ) |
Cancels the user input.
GSErrCode ACAPI_UserInput_ClearNeigFilter | ( | API_NeigFilter * | neigFilter, |
API_NeigID | neigID ) |
Sets one of the neig types in the neig filter not to be filtered.
neigFilter | [in] The neig filter. |
neigID | [in] Neig type to clear out from filtering. |
GSErrCode ACAPI_UserInput_CompleteUserInput | ( | ) |
Finishes the user input.
GSErrCode ACAPI_UserInput_DrawRubberArc | ( | API_RubberArcType * | rubberArc | ) |
Draws graphical feedback during an input process.
rubberArc | [in] Definition of the arc (circle or elliptic) to be drawn. |
APIRubberArc_OrigoAngles
nor APIRubberArc_ThreePoint
GSErrCode ACAPI_UserInput_DrawRubberLine | ( | API_RubberLineType * | rubberLine | ) |
Draws graphical feedback during an input process.
rubberLine | [in] Definition of the line to be drawn. |
GSErrCode ACAPI_UserInput_GetArc | ( | API_GetArcType * | arcInfo, |
RubberLineInfoProc * | rubberLineInfoProc = nullptr ) |
Performs an arc input.
arcInfo | [in/out] Parameters of the arc input operation. |
rubberLineInfoProc | [in] Callback function for custom feedback drawing. |
GSErrCode ACAPI_UserInput_GetLine | ( | API_GetLineType * | lineInfo, |
RubberLineInfoProc * | rubberLineInfoProc = nullptr ) |
Performs a line input.
lineInfo | [in/out] Parameters of the line input operation. |
rubberLineInfoProc | [in] Callback function for custom feedback drawing. |
GSErrCode ACAPI_UserInput_GetMagicWandSets | ( | API_MagicWandInfo * | magicWandInfo | ) |
Returns information on curve tracing parameters.
magicWandInfo | [out] Parameters of the 'Magic Wand Settings...' dialog. |
GSErrCode ACAPI_UserInput_GetPoint | ( | API_GetPointType * | pointInfo, |
RubberLineInfoProc * | rubberLineInfoProc = nullptr, | ||
Get3DComponentProc * | get3DComponentProc = nullptr ) |
Performs a point input.
pointInfo | [in/out] Parameters of the point input operation. |
rubberLineInfoProc | [in] Callback function for custom feedback drawing. |
get3DComponentProc | [in] Callback function for getting elem informations online (realtime). |
GSErrCode ACAPI_UserInput_GetPoly | ( | API_GetPolyType * | polyInfo, |
API_RubberPolyCallbacks * | rubberPolyCallbacks = nullptr ) |
Performs polygon input.
polyInfo | [in/out] Parameters of the polygon input operation. |
rubberPolyCallbacks | [in] Callback functions for custom feedback drawing. Optional, can be nullptr. |
GSErrCode ACAPI_UserInput_InitNeigFilter | ( | API_NeigFilter * | neigFilter, |
API_InitNeigFilterID | initNeigFilterID ) |
Initializes the neig filter for an input.
neigFilter | [in] The neig filter. | ||||||||||
initNeigFilterID | [in] Type of the filter initialization. The possible values:
|
initNeigFilterID
is not a valid API_InitNeigFilterID value GSErrCode ACAPI_UserInput_ResetConstraint | ( | ) |
Dissolve the drawing constraint.
GSErrCode ACAPI_UserInput_SetConstraint | ( | API_ConstraintPars * | constraintPars | ) |
Set the drawing constraint for graphical user input.
constraintPars | [in] Parameters of the drawing constraint. |
void ACAPI_UserInput_SetElementHighlight | ( | const GS::HashTable< API_Guid, API_RGBAColor > & | highlightedElems, |
const GS::Optional< bool > & | wireframe3D = GS::NoValue, | ||
const GS::Optional< API_RGBAColor > & | nonHighlightedElemsColor = GS::NoValue ) |
Highlight elements in the 2D (floor plan and section) and 3D window.
highlightedElems | Hash table containing the elements (identified by their GUIDs) and the colors to highlight the element with. |
wireframe3D | Switch other elements in the 3D window to wireframe (does not have effect in case of using Vectorial Engine). Optional, it can be GS::NoValue. |
nonHighlightedElemsColor | It contains the color and the transparency of the non highlighted elements. Optional, it can be GS::NoValue. |
ACAPI_Automate
(ACAPI_View_Redraw). GSErrCode ACAPI_UserInput_SetNeigFilter | ( | API_NeigFilter * | neigFilter, |
API_NeigID | neigID ) |
Sets one of the neig types in the neig filter to be filtered.
neigFilter | [in] The neig filter. |
neigID | [in] Neig type to set for filtering. |
|
inline |
A function to create an InputHandler instance, that lets you handle input related operations.