Archicad 28 C++ API
|
Functions providing a way to access existing user input methods or creating custom user input and feedback. More...
Classes | |
class | ACAPI::v1::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_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::v1::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. | |
Functions providing a way to access existing user input methods or creating custom user input and feedback.
API_NeigFilter |
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. 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.