Dynamic Draw API Reference for Lua

STICK module

Luastick default module

STICK.ObjectToUserdata function

Converts the class-object to lightuserdata. In C++, it converts the class-object to void pointer.

Lua

lightuserdata return_value = STICK.ObjectToUserdata(class-object object)

C++

Not Provided

Parameters

return_value
lightuserdata type: Pointer of the class-object
object
class-object: Class-object

STICK.IsNullObject function

Tests the object is null or not.

Lua

boolean return_value = STICK.IsNullObject(class-object object)

C++

Not Provided

Parameters

return_value
boolean type: true:The object is null/false:Not null
object
class-object type: Class-object

Global scope

Doc function

Return the document object.

Lua

DynamicDrawDoc return_value = Doc()

C++

::CFCFoundDoc* ::FFDoc()

Parameters

return_value
DynamicDrawDoc type: Document object.

Env function

Return the environment object.

Lua

DynamicDrawEnv return_value = Env()

C++

::FCEnv* ::FFEnv()

Parameters

return_value
DynamicDrawEnv type: Environment object

Link function

Return the link manager object.

Lua

LinkManager return_value = Link()

C++

::FCLinkManager* ::FFLinkManager()

Parameters

return_value
LinkManager type: Link manager

Reg function

Return the Windows registry object.

Lua

RegData return_value = Reg()

C++

::FCRegData* ::FFReg()

Parameters

return_value
RegData type: Windows registry object

View function

Return the view object.

Lua

DynamicDrawView return_value = View()

C++

::CFCDynamicDrawView* ::FFView()

Parameters

return_value
DynamicDrawView type: View object

BrushType module

Type of brush.

BrushType.NONE enumerated constant

Undefined/Unsipecify

Lua

integer BrushType.NONE

C++

enum class ::FTBrushType { NONE }

BrushType.VERT_LINEAR_GRADIENT enumerated constant

Vertical linear gradient

Lua

integer BrushType.VERT_LINEAR_GRADIENT

C++

enum class ::FTBrushType { VERT_LINEAR_GRADIENT }

BrushType.SOLID enumerated constant

Solid

Lua

integer BrushType.SOLID

C++

enum class ::FTBrushType { SOLID }

BrushType.PATTERN enumerated constant

Pattern

Lua

integer BrushType.PATTERN

C++

enum class ::FTBrushType { PATTERN }

BrushType.HORZ_LINEAR_GRADIENT enumerated constant

Horizontal linear gradient

Lua

integer BrushType.HORZ_LINEAR_GRADIENT

C++

enum class ::FTBrushType { HORZ_LINEAR_GRADIENT }

BrushType.REGISTERED enumerated constant

Registered

Lua

integer BrushType.REGISTERED

C++

enum class ::FTBrushType { REGISTERED }

MolipHitType module

Types how hit to the MOLIP when mouse button clicked.

MolipHitType.NONE enumerated constant

Undefined.

Lua

integer MolipHitType.NONE

C++

enum class ::MolipHitType { NONE }

MolipHitType.NOT_MOLIP enumerated constant

Don't hit to any MOLIP.

Lua

integer MolipHitType.NOT_MOLIP

C++

enum class ::MolipHitType { NOT_MOLIP }

MolipHitType.POINT enumerated constant

Hit to a point MOLIP.

Lua

integer MolipHitType.POINT

C++

enum class ::MolipHitType { POINT }

MolipHitType.LINE_CENTER enumerated constant

Hit to the center point of a line MOLIP.

Lua

integer MolipHitType.LINE_CENTER

C++

enum class ::MolipHitType { LINE_CENTER }

MolipHitType.LINE enumerated constant

Hit to a line MOLIP.

Lua

integer MolipHitType.LINE

C++

enum class ::MolipHitType { LINE }

ObjectAnchor module

Anchor point for object resizing.

ObjectAnchor.RIGHT_CENTER enumerated constant

Right center.

Lua

integer ObjectAnchor.RIGHT_CENTER

C++

enum class ::ObjectAnchor { RIGHT_CENTER }

ObjectAnchor.NONE enumerated constant

Undefined.

Lua

integer ObjectAnchor.NONE

C++

enum class ::ObjectAnchor { NONE }

ObjectAnchor.CENTER enumerated constant

Center.

Lua

integer ObjectAnchor.CENTER

C++

enum class ::ObjectAnchor { CENTER }

ObjectAnchor.LEFT_CENTER enumerated constant

Left center.

Lua

integer ObjectAnchor.LEFT_CENTER

C++

enum class ::ObjectAnchor { LEFT_CENTER }

ObjectAnchor.TOP_LEFT enumerated constant

Top left.

Lua

integer ObjectAnchor.TOP_LEFT

C++

enum class ::ObjectAnchor { TOP_LEFT }

ObjectAnchor.TOP_CENTER enumerated constant

Top center.

Lua

integer ObjectAnchor.TOP_CENTER

C++

enum class ::ObjectAnchor { TOP_CENTER }

ObjectAnchor.TOP_RIGHT enumerated constant

Top right.

Lua

integer ObjectAnchor.TOP_RIGHT

C++

enum class ::ObjectAnchor { TOP_RIGHT }

ObjectAnchor.BOTTOM_LEFT enumerated constant

Bottom left.

Lua

integer ObjectAnchor.BOTTOM_LEFT

C++

enum class ::ObjectAnchor { BOTTOM_LEFT }

ObjectAnchor.BOTTOM_CENTER enumerated constant

Bottom center.

Lua

integer ObjectAnchor.BOTTOM_CENTER

C++

enum class ::ObjectAnchor { BOTTOM_CENTER }

ObjectAnchor.BOTTOM_RIGHT enumerated constant

Bottom right.

Lua

integer ObjectAnchor.BOTTOM_RIGHT

C++

enum class ::ObjectAnchor { BOTTOM_RIGHT }

ObjectType module

Type of objects. Do not change the order of the types because their values are saved in the document file.

ObjectType.ARC enumerated constant

Arc object

Lua

integer ObjectType.ARC

C++

enum class ::FTObjectType { ARC }

ObjectType.NONE enumerated constant

Undefined

Lua

integer ObjectType.NONE

C++

enum class ::FTObjectType { NONE }

ObjectType.ROUND_RECT enumerated constant

Rounded rectangle object

Lua

integer ObjectType.ROUND_RECT

C++

enum class ::FTObjectType { ROUND_RECT }

ObjectType.OBJECT enumerated constant

Base object

Lua

integer ObjectType.OBJECT

C++

enum class ::FTObjectType { OBJECT }

ObjectType.FIGURE enumerated constant

Figure object

Lua

integer ObjectType.FIGURE

C++

enum class ::FTObjectType { FIGURE }

ObjectType.OLE enumerated constant

OLE object

Lua

integer ObjectType.OLE

C++

enum class ::FTObjectType { OLE }

ObjectType.POLY enumerated constant

Polyline object

Lua

integer ObjectType.POLY

C++

enum class ::FTObjectType { POLY }

ObjectType.RECT enumerated constant

Rectangle object

Lua

integer ObjectType.RECT

C++

enum class ::FTObjectType { RECT }

ObjectType.LINE enumerated constant

Line object

Lua

integer ObjectType.LINE

C++

enum class ::FTObjectType { LINE }

ObjectType.GROUP enumerated constant

Group object

Lua

integer ObjectType.GROUP

C++

enum class ::FTObjectType { GROUP }

ObjectType.WIDE_POLY enumerated constant

Wide polyline object

Lua

integer ObjectType.WIDE_POLY

C++

enum class ::FTObjectType { WIDE_POLY }

ObjectType.CHIP enumerated constant

Chip object

Lua

integer ObjectType.CHIP

C++

enum class ::FTObjectType { CHIP }

ObjectType.POINT enumerated constant

Point object

Lua

integer ObjectType.POINT

C++

enum class ::FTObjectType { POINT }

ObjectType.PICT_ARROW enumerated constant

Picture arrow object

Lua

integer ObjectType.PICT_ARROW

C++

enum class ::FTObjectType { PICT_ARROW }

ObjectType.LABEL enumerated constant

Label object

Lua

integer ObjectType.LABEL

C++

enum class ::FTObjectType { LABEL }

ObjectType.TABLE enumerated constant

Table object

Lua

integer ObjectType.TABLE

C++

enum class ::FTObjectType { TABLE }

ObjectType.TEXT_RECT enumerated constant

Text rectangle object

Lua

integer ObjectType.TEXT_RECT

C++

enum class ::FTObjectType { TEXT_RECT }

PenType module

Type of pen.

PenType.NONE enumerated constant

Undefined/Unsipecify

Lua

integer PenType.NONE

C++

enum class ::FTPenType { NONE }

PenType.SOLID enumerated constant

Solid

Lua

integer PenType.SOLID

C++

enum class ::FTPenType { SOLID }

PenType.DASHED enumerated constant

Dashed

Lua

integer PenType.DASHED

C++

enum class ::FTPenType { DASHED }

PenType.REGISTERED enumerated constant

Registered

Lua

integer PenType.REGISTERED

C++

enum class ::FTPenType { REGISTERED }

IApp module

Functions about the application.

IApp.OutputMessage function

Output a text message in the message window.

Lua

IApp.OutputMessage(string message)

C++

void ::IApp::OutputMessage(const wchar_t* message)

Parameters

message
string type: Text message

IApp.ShowMessageWindow function

Specify the visible state of the message window. The message window is used to display the debug information from Lua script.

Lua

IApp.ShowMessageWindow(boolean show)

C++

void ::IApp::ShowMessageWindow(bool show)

Parameters

show
boolean type: true:Show/false:Hide

DynamicDrawView class

View.

DynamicDrawView:SwitchCurrentTool method

Change the current tool.

Lua

[DynamicDrawView class-object]:SwitchCurrentTool(integer lToolId, boolean bDoImmediate)

C++

void ::CFCDynamicDrawView::SwitchCurrentTool(long lToolId, BOOL bDoImmediate)

Parameters

lToolId
integer type: Specify the tool you wish to change to. The selection tool(ID_TOOL_SELECT) will be choosed if -1 is specified.
bDoImmediate
boolean type: TRUE:Proceed the task immediately/FALSE:Proceed the task later using PostMessage

DynamicDrawDoc class

Document class.

DynamicDrawDoc:DoSave method

Save the document.

Lua

boolean return_value = [DynamicDrawDoc class-object]:DoSave(string lpszPathName, boolean bReplace)

C++

BOOL ::CFCFoundDoc::DoSave(LPCTSTR lpszPathName, BOOL bReplace)

Parameters

return_value
boolean type:
lpszPathName
string type:
bReplace
boolean type:

DynamicDrawDoc:ObjectIdToObject method

Get the object pointer by object-ID.

Lua

ObjDynabase return_value = [DynamicDrawDoc class-object]:ObjectIdToObject(integer dwID)

C++

::FCObjDynabase* ::CFCFoundDoc::ObjID2Object(DWORD dwID)

Parameters

return_value
ObjDynabase type: Object
dwID
integer type: Object ID

RegData class

It manages to save and load the registry.

RegData:GetResizeAnchor method

Return an anchor point for object resizing : ObjectAnchor type.

Lua

integer return_value = [RegData class-object]:GetResizeAnchor()

C++

WORD ::FCRegData::GetResizeFixPosition()

Parameters

return_value
integer type: Return an anchor point for object resizing : ObjectAnchor type.

SColor module

SColor.BLACK constant

Black

Lua

integer SColor.BLACK

C++

constexpr SColorID ::SColor::BLACK

SColor.TRANSPARENT constant

Transparent

Lua

integer SColor.TRANSPARENT

C++

constexpr SColorID ::SColor::TRANSP

SColor.WHITE constant

White

Lua

integer SColor.WHITE

C++

constexpr SColorID ::SColor::WHITE

MolipRec structure

Structure consist of object id and MOLIP id

MolipRec table

Member variables

molipId
integer type: ja;モリプIDen;MOLIP id
objectId
integer type: ja;部品IDen;Object id

Lua

table value = {
    molipId = [integer value],
    objectId = [integer value],
}

C++

::FCMolipRec {
    long lMolipId;
    DWORD dwObjID;
}

array<MolipRec> table

Lua

table value = {
    { [MolipRec table} },
    { [MolipRec table} },
        :
}

C++

std::vector<::FCMolipRec>

hash<number,MolipRec> table

Lua

table value = {
    { [number] = [MolipRec table} },
    { [number] = [MolipRec table} },
        :
}

C++

std::unordered_map<double,::FCMolipRec>

hash<string,MolipRec> table

Lua

table value = {
    { [string] = [MolipRec table} },
    { [string] = [MolipRec table} },
        :
}

C++

std::unordered_map<std::string,::FCMolipRec>

hash<boolean,MolipRec> table

Lua

table value = {
    { [boolean] = [MolipRec table} },
        :
}

C++

std::unordered_map<bool,::FCMolipRec>

ObjDynabase class

Most-base object class. It's a base of the all kind of objects.

ObjDynabase:AsObjArc method

Cast as an arc object class instance.

Lua

ObjArc return_value = [ObjDynabase class-object]:AsObjArc()

C++

::FCObjArc* ::FCObjDynabase::AsObjArc()

Parameters

return_value
ObjArc type: An arc object

ObjDynabase:AsObjChip method

Cast as a chip object class instance.

Lua

ObjChip return_value = [ObjDynabase class-object]:AsObjChip()

C++

::FCObjChipMaster* ::FCObjDynabase::AsObjChip()

Parameters

return_value
ObjChip type: A chip object

ObjDynabase:AsObjFigure method

Cast as a most-base object class instance.

Lua

ObjFigure return_value = [ObjDynabase class-object]:AsObjFigure()

C++

::FCObjFigure* ::FCObjDynabase::AsObjFigure()

Parameters

return_value
ObjFigure type: Most-base class object

ObjDynabase:AsObjGroup method

Cast as a group object class instance.

Lua

ObjGroup return_value = [ObjDynabase class-object]:AsObjGroup()

C++

::FCObjGroup* ::FCObjDynabase::AsObjGroup()

Parameters

return_value
ObjGroup type: A group object

ObjDynabase:AsObjLabel method

Cast as a label object class instance.

Lua

ObjLabel return_value = [ObjDynabase class-object]:AsObjLabel()

C++

::FCObjLabel* ::FCObjDynabase::AsObjLabel()

Parameters

return_value
ObjLabel type: A label object

ObjDynabase:AsObjLine method

Cast as a line object class instance.

Lua

ObjLine return_value = [ObjDynabase class-object]:AsObjLine()

C++

::FCObjLine* ::FCObjDynabase::AsObjLine()

Parameters

return_value
ObjLine type: A line object

ObjDynabase:AsObjOle method

Cast as an OLE object class instance.

Lua

ObjOle return_value = [ObjDynabase class-object]:AsObjOle()

C++

::FCObjOle* ::FCObjDynabase::AsObjOle()

Parameters

return_value
ObjOle type: An OLE object

ObjDynabase:AsObjPictArrow method

Cast as a picture arrow object class instance.

Lua

ObjPictArrow return_value = [ObjDynabase class-object]:AsObjPictArrow()

C++

::FCObjPictArrow* ::FCObjDynabase::AsObjPictArrow()

Parameters

return_value
ObjPictArrow type: A picture arrow object

ObjDynabase:AsObjPoint method

Cast as a link point object class instance.

Lua

ObjPoint return_value = [ObjDynabase class-object]:AsObjPoint()

C++

::FCObjPoint* ::FCObjDynabase::AsObjPoint()

Parameters

return_value
ObjPoint type: A link point object

ObjDynabase:AsObjPoly method

Cast as a polyline object class instance.

Lua

ObjPoly return_value = [ObjDynabase class-object]:AsObjPoly()

C++

::FCObjPoly* ::FCObjDynabase::AsObjPoly()

Parameters

return_value
ObjPoly type: A polyline object

ObjDynabase:AsObjRect method

Cast as a rectangle object class instance.

Lua

ObjRect return_value = [ObjDynabase class-object]:AsObjRect()

C++

::FCObjRect* ::FCObjDynabase::AsObjRect()

Parameters

return_value
ObjRect type: A rectangle object

ObjDynabase:AsObjRoundRect method

Cast as a rounded rectangle object class instance.

Lua

ObjRoundRect return_value = [ObjDynabase class-object]:AsObjRoundRect()

C++

::FCObjRoundRect* ::FCObjDynabase::AsObjRoundRect()

Parameters

return_value
ObjRoundRect type: A rounded rectangle object

ObjDynabase:AsObjTable method

Cast as a table object class instance.

Lua

ObjTable return_value = [ObjDynabase class-object]:AsObjTable()

C++

::FCObjTable* ::FCObjDynabase::AsObjTable()

Parameters

return_value
ObjTable type: A table object

ObjDynabase:AsObjTextRect method

Cast as a text rectangle object class instance.

Lua

ObjTextRect return_value = [ObjDynabase class-object]:AsObjTextRect()

C++

::FCObjTextRect* ::FCObjDynabase::AsObjTextRect()

Parameters

return_value
ObjTextRect type: A text rectangle object

ObjDynabase:AsObjWidePoly method

Cast as a wide polyline object class instance.

Lua

ObjWidePoly return_value = [ObjDynabase class-object]:AsObjWidePoly()

C++

::FCObjWidePoly* ::FCObjDynabase::AsObjWidePoly()

Parameters

return_value
ObjWidePoly type: A wide polyline object

ObjDynabase:DeleteDoubleDictionary method

Delete a value of the double type dictionary.

Lua

[ObjDynabase class-object]:DeleteDoubleDictionary(integer dictionaryId)

C++

void ::FCObjDynabase::DeleteDoubleDictionary(WORD dictionaryId)

Parameters

dictionaryId
integer type: Dictionary-Id

ObjDynabase:DeleteStringDictionary method

Delete a value of the string type dictionary.

Lua

[ObjDynabase class-object]:DeleteStringDictionary(integer dictionaryId)

C++

void ::FCObjDynabase::DeleteStringDictionary(WORD dictionaryId)

Parameters

dictionaryId
integer type: Dictionary-Id

ObjDynabase:GetAngle method

Get angle of this object.

Lua

number return_value = [ObjDynabase class-object]:GetAngle()

C++

angle ::FCObjDynabase::GetAngle()

Parameters

return_value
number type: Rotation angle.[0.0, 2.0).360degree=2.0

ObjDynabase:GetBezier method

Get the array of bezier point for the shape of this object.

Lua

array<DblPoint> bezier = [ObjDynabase class-object]:GetBezier()

C++

void ::FCObjDynabase::GetBezier(std::vector<::DblPoint>& bezier)

Parameters

bezier
array<DblPoint> type: Array of bezier point.

ObjDynabase:GetCenter method

Return the center point of the figure.
Usually it returns the center point of the circumscribed rectangle. But some kind of objects return another point.
e.g. The arc object having following shape returns X as a center point.
      __
     │   \
     │     \
     │      │
    X・      │
     │      │
     │     /
     │   /
       ̄ ̄

Lua

DblPoint return_value = [ObjDynabase class-object]:GetCenter()

C++

::DblPoint ::FCObjDynabase::GetCenter()

Parameters

return_value
DblPoint type: Center coordinates of this figure

ObjDynabase:GetDoubleDictionary method

Return a number of the double type dictionary.

Lua

number return_value = [ObjDynabase class-object]:GetDoubleDictionary(integer dictionaryId)

C++

double ::FCObjDynabase::GetDoubleDictionary(WORD dictionaryId)

Parameters

return_value
number type: Specified value/DBL_MAX:The value specified by the dictionaryId does not exist
dictionaryId
integer type: Dictionary-Id

ObjDynabase:GetMemberIdArray method

Get the array of member's id.

Lua

array<integer> members = [ObjDynabase class-object]:GetMemberIdArray()

C++

void ::FCObjDynabase::GetMemberIdArray(std::vector<DWORD>& members)

Parameters

members
array<integer> type: Object id array

ObjDynabase:GetMolipPoint method

Get the position of the specified molip.

Lua

DblPoint return_value = [ObjDynabase class-object]:GetMolipPoint(integer lMolipId)

C++

::DblPoint ::FCObjDynabase::GetMolipPos(long lMolipId)

Parameters

return_value
DblPoint type: Position
lMolipId
integer type: Molip ID.

ObjDynabase:GetMolipPointArray method

Get the position array of all molips. It includes the center molip.

Lua

array<DblPoint> pointArray = [ObjDynabase class-object]:GetMolipPointArray()

C++

void ::FCObjDynabase::GetMolipPosArray(std::vector<::DblPoint>& pointArray)

Parameters

pointArray
array<DblPoint> type: Array of molip point. pointArray[0] is a point of MolipID=-1, pointArray[1] is a point of MolipID=0.

ObjDynabase:GetObjectId method

Return object-ID.

Lua

integer return_value = [ObjDynabase class-object]:GetObjectId()

C++

DWORD ::FCObjDynabase::GetObjID()

Parameters

return_value
integer type: Object-ID

ObjDynabase:GetPolygon method

Get the array of polygon point for the shape of this object.

Lua

array<DblPoint> polygon = [ObjDynabase class-object]:GetPolygon()

C++

void ::FCObjDynabase::GetPolygon(std::vector<::DblPoint>& polygon)

Parameters

polygon
array<DblPoint> type: Array of polygon point.

ObjDynabase:GetRadius0 method

Return the radius of angle 0.

         ____________________
        /                   /
       /                   /
      /         +         /
     /                   /
    /___________________/ |
                |         |
                |---------|
                  radius0

Lua

number return_value = [ObjDynabase class-object]:GetRadius0()

C++

mmetol ::FCObjDynabase::GetRadius0()

Parameters

return_value
number type: Radius

ObjDynabase:GetRadius90 method

Return the radius of angle 90.

         ____________________
        /                   /
       /                   /
      /         +         /----
     /                   /    |radius90
    /___________________/     |
                         ~~~~~~

Lua

number return_value = [ObjDynabase class-object]:GetRadius90()

C++

mmetol ::FCObjDynabase::GetRadius90()

Parameters

return_value
number type: Radius

ObjDynabase:GetResizeFrame method

Return the circumscribed rectangle of the object.

Lua

DblRect return_value = [ObjDynabase class-object]:GetResizeFrame()

C++

::DblRect ::FCObjDynabase::GetResizeFrame()

Parameters

return_value
DblRect type: Rectangle

ObjDynabase:GetSkew method

Return the skew. 'skew' in the figure below. Negative value in this case.

         ____________________
        /                   /
       /                   /
      / _ _ _ _ _ _ _ _ _ /
     /                   /
    /                   / |
   /___________________/  |
                       |  |
                       |--|
                       skew

Lua

number return_value = [ObjDynabase class-object]:GetSkew()

C++

mmetol ::FCObjDynabase::GetSkew()

Parameters

return_value
number type: Skew

ObjDynabase:GetStringDictionary method

Return a string of the double type dictionary.

Lua

string return_value = [ObjDynabase class-object]:GetStringDictionary(integer dictionaryId)

C++

astring ::FCObjDynabase::GetStringDictionary(WORD dictionaryId)

Parameters

return_value
string type: Specified value/empty:The value specified by the dictionaryId does not exist
dictionaryId
integer type: Dictionary-Id

ObjDynabase:IsKindOf method

Check that this object belongs to the specified type or not.

Lua

boolean return_value = [ObjDynabase class-object]:IsKindOf(integer type)

C++

BOOL ::FCObjDynabase::IsKindOf(::FTObjectType type)

Parameters

return_value
boolean type: TRUE:Belong/FALSE:Not belong
type
integer type: Type of object

ObjDynabase:Move method

Move the object.

Lua

[ObjDynabase class-object]:Move(DblPoint distance)

C++

void ::FCObjDynabase::Move(const ::DblPoint& distance)

Parameters

distance
DblPoint type: Distance of moving.

ObjDynabase:Resize method

Resize this object.

Lua

[ObjDynabase class-object]:Resize(boolean isPositiveX, boolean isPositiveY, DblRect newRect)

C++

void ::FCObjDynabase::Resize(BOOL isPositiveX, BOOL isPositiveY, const ::DblRect& newRect)

Parameters

isPositiveX
boolean type: FALSE:Reverse horizontal/TRUE:Don't reverse
isPositiveY
boolean type: FALSE:Reverse vertical/TRUE:Don't reverse
newRect
DblRect type: New coodinates

ObjDynabase:SetAngle method

Set angle of this object.

Lua

[ObjDynabase class-object]:SetAngle(number r, DblPoint centerPosition)

C++

void ::FCObjDynabase::SetAngle(angle r, const ::DblPoint& centerPosition)

Parameters

r
number type: New angle, expressed in [0.0, 2.0).
centerPosition
DblPoint type: Center coordinates of rotation

ObjDynabase:SetCenter method

Set center coordinates of this figure.

Lua

[ObjDynabase class-object]:SetCenter(DblPoint centerPosition)

C++

void ::FCObjDynabase::SetCenter(const ::DblPoint& centerPosition)

Parameters

centerPosition
DblPoint type: 中心点の座標。Center coordinates of this figure

ObjDynabase:SetDoubleDictionary method

Set a number of the double type dictionary.

Lua

[ObjDynabase class-object]:SetDoubleDictionary(integer dictionaryId, number value)

C++

void ::FCObjDynabase::SetDoubleDictionary(WORD dictionaryId, const double& value)

Parameters

dictionaryId
integer type: Dictionary-Id
value
number type: Value of the dictionary

ObjDynabase:SetStringDictionary method

Set a string of the double type dictionary.

Lua

[ObjDynabase class-object]:SetStringDictionary(integer dictionaryId, string value)

C++

void ::FCObjDynabase::SetStringDictionary(WORD dictionaryId, const char* value)

Parameters

dictionaryId
integer type: Dictionary-Id
value
string type: Value of the dictionary

ObjDynabase:Type method

Get the type of the object.

Lua

integer return_value = [ObjDynabase class-object]:Type()

C++

::FTObjectType ::FCObjDynabase::Type()

Parameters

return_value
integer type: Type of object

ObjFigure class

Base-figure object class. Base class whose subclass has shape, outline and fill-color.

ObjFigure:GetBrush method

Get the attributes of the brush.

Lua

integer return_value, integer regBrushId, integer backSColorId, integer foreSColorId, integer patternId = [ObjFigure class-object]:GetBrush()

C++

::FTBrushType ::FCObjFigure::GetBrush(RegBrushID& regBrushId, SColorID& backSColorId, SColorID& foreSColorId, PatternID& patternId)

Parameters

return_value
integer type: Type of the brush
regBrushId
integer type: ID of the registered brush
backSColorId
integer type: Foreground color of the brush/Start color of the gradient
foreSColorId
integer type: Background color of the brush/End color of the gradient
patternId
integer type: Pattern of the brush

ObjFigure:GetPen method

Get the attributes of the pen.

Lua

integer return_value, integer regPenId, integer lineSColorId, number weight, integer styleId = [ObjFigure class-object]:GetPen()

C++

::FTPenType ::FCObjFigure::GetPen(RegPenID& regPenId, SColorID& lineSColorId, mmetol& weight, PenStyleID& styleId)

Parameters

return_value
integer type: Type of the pen
regPenId
integer type: ID of the registered pen
lineSColorId
integer type: Color of the pen
weight
number type: Weight of the pen
styleId
integer type: Style of the pen

ObjFigure:SetBrush method

Set the attributes of the brush.

Lua

[ObjFigure class-object]:SetBrush(integer brushType, integer regBrushId, integer backSColorId, integer foreSColorId, integer patternId)

C++

void ::FCObjFigure::SetBrush(::FTBrushType brushType, RegBrushID regBrushId, SColorID backSColorId, SColorID foreSColorId, PatternID patternId)

Parameters

brushType
integer type: Type of the brush
regBrushId
integer type: ID of the registered brush
backSColorId
integer type: Foreground color of the brush/Start color of the gradient
foreSColorId
integer type: Background color of the brush/End color of the gradient
patternId
integer type: Pattern of the brush

ObjFigure:SetPen method

Set the attributes of the pen.

Lua

[ObjFigure class-object]:SetPen(integer penType, integer regPenId, integer lineSColorId, number weight, integer styleId)

C++

void ::FCObjFigure::SetPen(::FTPenType penType, RegPenID regPenId, SColorID lineSColorId, mmetol weight, PenStyleID styleId)

Parameters

penType
integer type: Type of the pen
regPenId
integer type: ID of the registered pen
lineSColorId
integer type: Color of the pen
weight
number type: Weight of the pen
styleId
integer type: Style of the pen

ObjPoly module

Polyline object class.

ObjPoly.JointIndexToMolipId function

Convert the index of the joint to the molip-id.

Lua

integer return_value = ObjPoly.JointIndexToMolipId(integer jointIndex)

C++

long ::FCObjPoly::JointIndexToMolipId(long jointIndex)

Parameters

return_value
integer type: MOLIP-ID
jointIndex
integer type: Index of joint. It starts from 0.

ObjPoly.MolipIdToJointIndex function

Convert molip-id to joint-id.

Lua

integer return_value = ObjPoly.MolipIdToJointIndex(integer molipID)

C++

long ::FCObjPoly::MolipIdToJointIndex(long molipID)

Parameters

return_value
integer type: Index of MOLIP
molipID
integer type: MOLIP-ID

ObjPoly class

Polyline object class.

ObjPoly:GetJoint method

Gets the joint record.

Lua

PolyJoint return_value = [ObjPoly class-object]:GetJoint(integer index)

C++

::FCPolyJoint& ::FCObjPoly::GetJoint(long index)

Parameters

return_value
PolyJoint type: Record of the joint
index
integer type: Index of joint. It starts from 0.

ObjPoly:GetJointArray method

Get joints.

Lua

array<PolyJoint> jointArray = [ObjPoly class-object]:GetJointArray()

C++

void ::FCObjPoly::GetJointArray(std::vector<::FCPolyJoint>& jointArray)

Parameters

jointArray
array<PolyJoint> type: Array of joints

ObjPoly:GetJointSize method

Gets the number of joints.

Lua

integer return_value = [ObjPoly class-object]:GetJointSize()

C++

long ::FCObjPoly::GetJointSize()

Parameters

return_value
integer type: Number of joints

ObjPoly:SetJoint method

Sets a joint.

Lua

[ObjPoly class-object]:SetJoint(integer index, PolyJoint polyJoint)

C++

void ::FCObjPoly::SetJoint(long index, const ::FCPolyJoint& polyJoint)

Parameters

index
integer type: Index of joint. It starts from 0.
polyJoint
PolyJoint type: Record of the joint

ObjPoly:SetJointArray method

Set joints.

Lua

[ObjPoly class-object]:SetJointArray(array<PolyJoint> jointArray)

C++

void ::FCObjPoly::SetJointArray(const std::vector<::FCPolyJoint>& jointArray)

Parameters

jointArray
array<PolyJoint> type: Array of joints

ObjPoly.LinkFormation module

Methods of joints placing, according to the moving of MOLIP by inter-MOLIP link. It will be the value of m_byLinkMoveType.

ObjPoly.LinkFormation.NONE enumerated constant

Do not move any joints according to the moving of MOLIP.

Lua

integer ObjPoly.LinkFormation.NONE

C++

enum class ::FCObjPoly::LinkFormation { NONE }

ObjPoly.LinkFormation.AXIS enumerated constant

Move joints keeping the distance from the axis line between the starting and ending points.

Lua

integer ObjPoly.LinkFormation.AXIS

C++

enum class ::FCObjPoly::LinkFormation { AXIS }

ObjPoly.LinkFormation.SAMEHV enumerated constant

Move joints keeping lines being horizontal or vertical.

Lua

integer ObjPoly.LinkFormation.SAMEHV

C++

enum class ::FCObjPoly::LinkFormation { SAMEHV }

ObjPoly.LinkInterlocking module

Synchronization to next joint when starting point or ending point is moved by link.

ObjPoly.LinkInterlocking.NONE enumerated constant

Do not move the next joint.

Lua

integer ObjPoly.LinkInterlocking.NONE

C++

enum class ::FCObjPoly::LinkInterlocking { NONE }

ObjPoly.LinkInterlocking.MOVE_HORZ enumerated constant

Move the next joint horizontally a distance same with the moving of starting or ending point.

Lua

integer ObjPoly.LinkInterlocking.MOVE_HORZ

C++

enum class ::FCObjPoly::LinkInterlocking { MOVE_HORZ }

ObjPoly.LinkInterlocking.MOVE_VERT enumerated constant

Move the next joint vertically a distance same with the moving of starting or ending point.

Lua

integer ObjPoly.LinkInterlocking.MOVE_VERT

C++

enum class ::FCObjPoly::LinkInterlocking { MOVE_VERT }

ObjRect class

Rectangle class.

ObjRect:SetAngle method

Set the rotation angle.

Lua

boolean return_value = [ObjRect class-object]:SetAngle(number rot)

C++

BOOL ::FCObjRect::SetAngle(angle rot)

Parameters

return_value
boolean type: TRUE:Succeeded/FALSE:Failed
rot
number type: Rotation angle

ObjRect:SetRadius0 method

Set the radius of angle 0.

Lua

boolean return_value = [ObjRect class-object]:SetRadius0(number radius)

C++

BOOL ::FCObjRect::SetRadius0(mmetol radius)

Parameters

return_value
boolean type: TRUE:Succeeded/FALSE:Failed
radius
number type: Radus

ObjRect:SetRadius90 method

Set the radius of angle 90.

Lua

boolean return_value = [ObjRect class-object]:SetRadius90(number radius)

C++

BOOL ::FCObjRect::SetRadius90(mmetol radius)

Parameters

return_value
boolean type: TRUE:Succeeded/FALSE:Failed
radius
number type: Radus

ObjRect:SetSkew method

Set the skew.

Lua

boolean return_value = [ObjRect class-object]:SetSkew(number skew)

C++

BOOL ::FCObjRect::SetSkew(mmetol skew)

Parameters

return_value
boolean type: TRUE:Succeeded/FALSE:Failed
skew
number type: Skew

ToolScriptEdit class

Script editing tool class

ToolScriptEdit:AddHandle method

Add a control handle.

Lua

[ToolScriptEdit class-object]:AddHandle(integer handleId, boolean isSnapToMolip, DblPoint mmpt)

C++

void ::FCToolScriptEdit::AddHandle(__int32 handleId, bool isSnapToMolip, const ::DblPoint& mmpt)

Parameters

handleId
integer type: Handle-ID should be added.
isSnapToMolip
boolean type: true:Snap to MOLIP/false:Do not snap
mmpt
DblPoint type: Point of the handle

ToolScriptEdit:AddPointHandleRestriction method

Add the restriction of the control handle's moving. The control handle becomes to move only at the points specified by 'mmptArray'.

Lua

[ToolScriptEdit class-object]:AddPointHandleRestriction(integer handleId, array<DblPoint> mmptArray)

C++

void ::FCToolScriptEdit::AddPointHandleRestriction(__int32 handleId, const std::vector<::DblPoint>& mmptArray)

Parameters

handleId
integer type: Handle-ID
mmptArray
array<DblPoint> type: Array of points

ToolScriptEdit:AddPolygonHandleRestriction method

Add the restriction of the control handle's moving. The control handle becomes to move only inside of the polygon specified by 'mmptArray'.

Lua

[ToolScriptEdit class-object]:AddPolygonHandleRestriction(integer handleId, array<DblPoint> mmptArray)

C++

void ::FCToolScriptEdit::AddPolygonHandleRestriction(__int32 handleId, const std::vector<::DblPoint>& mmptArray)

Parameters

handleId
integer type: Handle-ID
mmptArray
array<DblPoint> type: Array of polygon vertexes

ToolScriptEdit:AddPolylineHandleRestriction method

Add the restriction of the control handle's moving. The control handle becomes to move only on the polyline specified by 'mmptArray'.

Lua

[ToolScriptEdit class-object]:AddPolylineHandleRestriction(integer handleId, array<DblPoint> mmptArray)

C++

void ::FCToolScriptEdit::AddPolylineHandleRestriction(__int32 handleId, const std::vector<::DblPoint>& mmptArray)

Parameters

handleId
integer type: Handle-ID
mmptArray
array<DblPoint> type: Array of polyline vertexes

ToolScriptEdit:ClearHandle method

Delete all of the handles.

Lua

[ToolScriptEdit class-object]:ClearHandle()

C++

void ::FCToolScriptEdit::ClearHandle()

ToolScriptEdit:ClearHandleRestriction method

Delete the restriction of the control handle's moving. The control handle becomes to move anyplace.

Lua

[ToolScriptEdit class-object]:ClearHandleRestriction(integer handleId)

C++

void ::FCToolScriptEdit::ClearHandleRestriction(__int32 handleId)

Parameters

handleId
integer type: Handle-ID

ToolScriptEdit:GetHandle method

Get the information of the control handle.

Lua

boolean isSnapToMolip, DblPoint mmpt = [ToolScriptEdit class-object]:GetHandle(integer handleId)

C++

void ::FCToolScriptEdit::GetHandle(__int32 handleId, bool& isSnapToMolip, ::DblPoint& mmpt)

Parameters

isSnapToMolip
boolean type: true:Snap to MOLIP/false:Do not snap
mmpt
DblPoint type: Point of the handle
handleId
integer type: 作成するハンドルのID

ToolScriptEdit:GetHandlePoint method

Get the point of the control handle.

Lua

DblPoint return_value = [ToolScriptEdit class-object]:GetHandlePoint(integer handleId)

C++

const ::DblPoint& ::FCToolScriptEdit::GetHandlePoint(__int32 handleId)

Parameters

return_value
DblPoint type: Coordinates of the point
handleId
integer type: Handle-ID

ToolScriptEdit:GetHookedObject method

Get a hooked object specified with the hookId.

Lua

ObjDynabase return_value = [ToolScriptEdit class-object]:GetHookedObject(integer hookId)

C++

::FCObjDynabase* ::FCToolScriptEdit::GetHookedObject(__int32 hookId)

Parameters

return_value
ObjDynabase type: Hooked object
hookId
integer type: Hook-id. It is used to specify the hooked object.

ToolScriptEdit:GetSelectedObject method

Get the selected object. When this tool is activated, only one object can be selected.

Lua

ObjDynabase return_value = [ToolScriptEdit class-object]:GetSelectedObject()

C++

::FCObjDynabase* ::FCToolScriptEdit::GetSelectedObject()

Parameters

return_value
ObjDynabase type: object

ToolScriptEdit:HookObject method

Hook the specified object to this tool. The object must be a copy of standard object. The hooked object is used to draw editting-line.

Lua

[ToolScriptEdit class-object]:HookObject(integer hookId, ObjDynabase obj)

C++

void ::FCToolScriptEdit::HookObject(__int32 hookId, ::FCObjDynabase* obj)

Parameters

hookId
integer type: Hook-id. It is used to specify the hooked object.
obj
ObjDynabase type: Object

ToolScriptEdit:RemoveHandle method

Delete the specified handle.

Lua

[ToolScriptEdit class-object]:RemoveHandle(integer handleId)

C++

void ::FCToolScriptEdit::RemoveHandle(__int32 handleId)

Parameters

handleId
integer type: Handle-ID should be deleted.

ToolScriptEdit:SetHandle method

Update the control handle.

Lua

[ToolScriptEdit class-object]:SetHandle(integer handleId, boolean isSnapToMolip, DblPoint mmpt)

C++

void ::FCToolScriptEdit::SetHandle(__int32 handleId, bool isSnapToMolip, const ::DblPoint& mmpt)

Parameters

handleId
integer type: Handle-ID should be updated.
isSnapToMolip
boolean type: true:Snap to MOLIP/false:Do not snap
mmpt
DblPoint type: Point of the handle

ToolScriptEdit:SetHandlePoint method

Update the coordinates of the handle.

Lua

[ToolScriptEdit class-object]:SetHandlePoint(integer handleId, DblPoint mmpt)

C++

void ::FCToolScriptEdit::SetHandlePoint(__int32 handleId, const ::DblPoint& mmpt)

Parameters

handleId
integer type: Handle-ID
mmpt
DblPoint type: Coordinates of the handle

DblPoint structure

It's a point which is constituted of 8 bytes floating-point numbers.

DblPoint table

Member variables

x
number type: x-coordinate of the point.
y
number type: y-coordinate of the point.

Lua

table value = {
    x = [number value],
    y = [number value],
}

C++

::DblPoint {
    double x;
    double y;
}

array<DblPoint> table

Lua

table value = {
    { [DblPoint table} },
    { [DblPoint table} },
        :
}

C++

std::vector<::DblPoint>

hash<number,DblPoint> table

Lua

table value = {
    { [number] = [DblPoint table} },
    { [number] = [DblPoint table} },
        :
}

C++

std::unordered_map<double,::DblPoint>

hash<string,DblPoint> table

Lua

table value = {
    { [string] = [DblPoint table} },
    { [string] = [DblPoint table} },
        :
}

C++

std::unordered_map<std::string,::DblPoint>

hash<boolean,DblPoint> table

Lua

table value = {
    { [boolean] = [DblPoint table} },
        :
}

C++

std::unordered_map<bool,::DblPoint>

DblPoint module

It's a point which is constituted of 8 bytes floating-point numbers.

DblPoint.About0 function

Check p1 is zero.

Lua

boolean return_value = DblPoint.About0(DblPoint p1)

C++

BOOL ::DblPoint::About0(const ::DblPoint& p1)

Parameters

return_value
boolean type: TRUE:p1 is aboult zero./FALSE:else.
p1
DblPoint type: Point to compare.

DblPoint.AboutEqual function

Compare p1 and p2.

Lua

boolean return_value = DblPoint.AboutEqual(DblPoint p1, DblPoint p2)

C++

BOOL ::DblPoint::AboutEqual(const ::DblPoint& p1, const ::DblPoint& p2)

Parameters

return_value
boolean type: TRUE:p1 and p2 is about equal./FALSE:else.
p1
DblPoint type: Point to compare.
p2
DblPoint type: Point to compare.

DblPoint.Add function

Add v1 and v2.

Lua

DblPoint return_value = DblPoint.Add(DblPoint v1, DblPoint v2)

C++

::DblPoint ::DblPoint::Add(const ::DblPoint& v1, const ::DblPoint& v2)

Parameters

return_value
DblPoint type: Result
v1
DblPoint type: Value
v2
DblPoint type: Value

DblPoint.Almost0 function

Check p1 is zero.

Lua

boolean return_value = DblPoint.Almost0(DblPoint p1)

C++

BOOL ::DblPoint::Almost0(const ::DblPoint& p1)

Parameters

return_value
boolean type: TRUE:p1 is almost zero./FALSE:else.
p1
DblPoint type: Point to compare.

DblPoint.AlmostEqual function

Compare p1 and p2.

Lua

boolean return_value = DblPoint.AlmostEqual(DblPoint p1, DblPoint p2)

C++

BOOL ::DblPoint::AlmostEqual(const ::DblPoint& p1, const ::DblPoint& p2)

Parameters

return_value
boolean type: TRUE:p1 and p2 is almost same/FALSE:else.
p1
DblPoint type: Point to compare.
p2
DblPoint type: Point to compare.

DblPoint.AlmostLess function

Compare y coordinate of p1 and p2. If they are almost same, compare y coordinate.

Lua

boolean return_value = DblPoint.AlmostLess(DblPoint p1, DblPoint p2)

C++

BOOL ::DblPoint::AlmostLess(const ::DblPoint& p1, const ::DblPoint& p2)

Parameters

return_value
boolean type: TRUE:p1 is less than p2/FALSE:else.
p1
DblPoint type: Point to compare.
p2
DblPoint type: Point to compare.

DblPoint.Rough0 function

Check p1 is zero.

Lua

boolean return_value = DblPoint.Rough0(DblPoint p1)

C++

BOOL ::DblPoint::Rough0(const ::DblPoint& p1)

Parameters

return_value
boolean type: TRUE:p1 is roughly zero./FALSE:else.
p1
DblPoint type: Point to compare.

DblPoint.RoughEqual function

Compare p1 and p2.

Lua

boolean return_value = DblPoint.RoughEqual(DblPoint p1, DblPoint p2)

C++

BOOL ::DblPoint::RoughEqual(const ::DblPoint& p1, const ::DblPoint& p2)

Parameters

return_value
boolean type: TRUE:p1 and p2 is roughly equal./FALSE:else.
p1
DblPoint type: Point to compare.
p2
DblPoint type: Point to compare.

DblPoint.Subtract function

Subtract v2 from v1.

Lua

DblPoint return_value = DblPoint.Subtract(DblPoint v1, DblPoint v2)

C++

::DblPoint ::DblPoint::Subtract(const ::DblPoint& v1, const ::DblPoint& v2)

Parameters

return_value
DblPoint type: Result
v1
DblPoint type: Value
v2
DblPoint type: Value

DBLRECT structure

It's a rectangle which is constituted of 8 bytes floating-point numbers.

DBLRECT table

Member variables

bottom
number type: bottom coordinate of the rectangle.
left
number type: left coordinate of the rectangle.
right
number type: right coordinate of the rectangle.
top
number type: top coordinate of the rectangle.

Lua

table value = {
    bottom = [number value],
    left = [number value],
    right = [number value],
    top = [number value],
}

C++

::DBLRECT {
    double bottom;
    double left;
    double right;
    double top;
}

array<DBLRECT> table

Lua

table value = {
    { [DBLRECT table} },
    { [DBLRECT table} },
        :
}

C++

std::vector<::DBLRECT>

hash<number,DBLRECT> table

Lua

table value = {
    { [number] = [DBLRECT table} },
    { [number] = [DBLRECT table} },
        :
}

C++

std::unordered_map<double,::DBLRECT>

hash<string,DBLRECT> table

Lua

table value = {
    { [string] = [DBLRECT table} },
    { [string] = [DBLRECT table} },
        :
}

C++

std::unordered_map<std::string,::DBLRECT>

hash<boolean,DBLRECT> table

Lua

table value = {
    { [boolean] = [DBLRECT table} },
        :
}

C++

std::unordered_map<bool,::DBLRECT>

DblRect structure

It's a rectangle which is constituted of 8 bytes floating-point numbers. Subclass of DBLRECT.

DblRect table

Member variables

Lua

table value = {
    bottom = [number value],
    left = [number value],
    right = [number value],
    top = [number value],
}

C++

::DblRect : public ::DBLRECT {
}

array<DblRect> table

Lua

table value = {
    { [DblRect table} },
    { [DblRect table} },
        :
}

C++

std::vector<::DblRect>

hash<number,DblRect> table

Lua

table value = {
    { [number] = [DblRect table} },
    { [number] = [DblRect table} },
        :
}

C++

std::unordered_map<double,::DblRect>

hash<string,DblRect> table

Lua

table value = {
    { [string] = [DblRect table} },
    { [string] = [DblRect table} },
        :
}

C++

std::unordered_map<std::string,::DblRect>

hash<boolean,DblRect> table

Lua

table value = {
    { [boolean] = [DblRect table} },
        :
}

C++

std::unordered_map<bool,::DblRect>

DblRect module

It's a rectangle which is constituted of 8 bytes floating-point numbers. Subclass of DBLRECT.

DblRect.CenterPoint function

Get the center point of the specified rectangle.

Lua

DblPoint return_value = DblRect.CenterPoint(DBLRECT rt)

C++

::DblPoint ::DblRect::CenterPoint(const ::DBLRECT& rt)

Parameters

return_value
DblPoint type: Center point
rt
DBLRECT type: Rectangle

JointType module

JointType.BACK_NONE constant

B-control has 0 length.

Lua

integer JointType.BACK_NONE

C++

constexpr short ::JointType::BACK_NONE

JointType.BOTH_NONE constant

F-control and B-control have 0 length both.

Lua

integer JointType.BOTH_NONE

C++

constexpr short ::JointType::BOTH_NONE

JointType.FRONT_NONE constant

F-control has 0 length.

Lua

integer JointType.FRONT_NONE

C++

constexpr short ::JointType::FRONT_NONE

JointType.NONE constant

Undefined.

Lua

integer JointType.NONE

C++

constexpr short ::JointType::NONE

JointType.ROUND constant

F-control and B-control have length. And joint is round edge.

Lua

integer JointType.ROUND

C++

constexpr short ::JointType::ROUND

JointType.SHARP constant

F-control and B-control have length. And joint is sharp edge.

Lua

integer JointType.SHARP

C++

constexpr short ::JointType::SHARP

PolyJoint structure

Represents a joint for bezier curve.

PolyJoint table

Member variables

back
DblPoint type: B-control of joint. Offset value from center point.
center
DblPoint type: Center point of joint.
front
DblPoint type: F-control of joint. Offset value from center point.
type
integer type: 連結点の引点のタイプ。

Lua

table value = {
    back = {
        x = [number value],
        y = [number value],
    }
    center = {
        x = [number value],
        y = [number value],
    }
    front = {
        x = [number value],
        y = [number value],
    }
    type = [integer value],
}

C++

::FCPolyJoint {
    ::DblPoint m_mmptNext;
    ::DblPoint m_mmptPivot;
    ::DblPoint m_mmptPrev;
    short m_nType;
}

array<PolyJoint> table

Lua

table value = {
    { [PolyJoint table} },
    { [PolyJoint table} },
        :
}

C++

std::vector<::FCPolyJoint>

hash<number,PolyJoint> table

Lua

table value = {
    { [number] = [PolyJoint table} },
    { [number] = [PolyJoint table} },
        :
}

C++

std::unordered_map<double,::FCPolyJoint>

hash<string,PolyJoint> table

Lua

table value = {
    { [string] = [PolyJoint table} },
    { [string] = [PolyJoint table} },
        :
}

C++

std::unordered_map<std::string,::FCPolyJoint>

hash<boolean,PolyJoint> table

Lua

table value = {
    { [boolean] = [PolyJoint table} },
        :
}

C++

std::unordered_map<bool,::FCPolyJoint>

IMath module

Functions about mathematics.

IMath.About0 function

Compare a values and 0 then determine it is about equal to 0 or not.

Lua

boolean return_value = IMath.About0(number v1)

C++

BOOL ::IMath::About0(double v1)

Parameters

return_value
boolean type: TRUE:About equal to 0/FALSE:Not 0
v1
number type: Value to compare

IMath.AboutEqual function

Compare two double values and determine they are almost equal or not.

Lua

boolean return_value = IMath.AboutEqual(number v1, number v2)

C++

BOOL ::IMath::AboutEqual(double v1, double v2)

Parameters

return_value
boolean type: TRUE:About equal/FALSE:Not equal
v1
number type: Value to compare
v2
number type: Value to compare

IMath.Almost0 function

Compare a values and 0 then determine it is almost equal to 0 or not.

Lua

boolean return_value = IMath.Almost0(number v1)

C++

BOOL ::IMath::Almost0(double v1)

Parameters

return_value
boolean type: TRUE:Almost equal/FALSE:Not equal
v1
number type: Value to compare

IMath.AlmostEqual function

Compare two double values and determine they are almost equal or not.

Lua

boolean return_value = IMath.AlmostEqual(number v1, number v2)

C++

BOOL ::IMath::AlmostEqual(double v1, double v2)

Parameters

return_value
boolean type: TRUE:Almost equal/FALSE:Not equal
v1
number type: Value to compare
v2
number type: Value to compare

IMath.ArcTan function

Returns the principal value of the arc tangent of the origin->mmptL. The returned value is expressed in [0.0, 2.0). 2.0 means 360 degrees.

Lua

number return_value = IMath.ArcTan(DblPoint mmptL)

C++

double ::IMath::ArcTan(const ::DblPoint& mmptL)

Parameters

return_value
number type: Angle of the line, expressed in [0.0, 2.0).
mmptL
DblPoint type: Line from the origin

IMath.ArcTan function

Returns the principal value of the arc tangent of the mmptA->mmptB. The returned value is expressed in [0.0, 2.0). 2.0 means 360 degrees.

Lua

number return_value = IMath.ArcTan(DblPoint mmptA, DblPoint mmptB)

C++

double ::IMath::ArcTan(const ::DblPoint& mmptA, const ::DblPoint& mmptB)

Parameters

return_value
number type: Angle of the line, expressed in [0.0, 2.0).
mmptA
DblPoint type: Starting point of the line
mmptB
DblPoint type: Ending point of the line

IMath.Cos function

Returns the cosine of an angle of r, expressed in [0.0, 2.0). 2.0 means 360 degrees.

Lua

number return_value = IMath.Cos(number r)

C++

double ::IMath::Cos(double r)

Parameters

return_value
number type: コサイン値
r
number type: Angle, expressed in [0.0, 2.0).

IMath.MovePointArray function

Move the array of points specified distance.

Lua

array<DblPoint> return_value = IMath.MovePointArray(array<DblPoint> pointArray, number moveX, number moveY)

C++

std::vector<::DblPoint>& ::IMath::MovePointArray(std::vector<::DblPoint>& pointArray, double moveX, double moveY)

Parameters

return_value
array<DblPoint> type: Converted point array
pointArray
array<DblPoint> type: A point array that should be converted.
moveX
number type: Moving distance in a horizontal direction
moveY
number type: Moving distance in a vertical direction

IMath.RegulateAngle0_2 function

Normalize an angle of r to [0.0, 2.0). r:2.0 means 360 degrees.

Lua

number return_value = IMath.RegulateAngle0_2(number r)

C++

double ::IMath::RegulateAngle0_2(double r)

Parameters

return_value
number type: Angle. [0.0, 2.0)
r
number type: Angle. Real number.

IMath.RotateJoint function

Rotate the specified joint around the center point.

Lua

PolyJoint return_value = IMath.RotateJoint(PolyJoint polyJoint, number sinValue, number cosValue, DblPoint center)

C++

::FCPolyJoint& ::IMath::RotateJoint(::FCPolyJoint& polyJoint, double sinValue, double cosValue, const ::DblPoint& center)

Parameters

return_value
PolyJoint type: Rotated joint
polyJoint
PolyJoint type: Target of rotation
sinValue
number type: Sin value of rotation angle
cosValue
number type: Cos value of rotation angle
center
DblPoint type: Center of the rotation

IMath.RotateJointArray function

Rotate the specified joint array around the center point.

Lua

array<PolyJoint> return_value = IMath.RotateJointArray(array<PolyJoint> jointArray, number sinValue, number cosValue, DblPoint center)

C++

std::vector<::FCPolyJoint>& ::IMath::RotateJointArray(std::vector<::FCPolyJoint>& jointArray, double sinValue, double cosValue, const ::DblPoint& center)

Parameters

return_value
array<PolyJoint> type: Rotated joint array
jointArray
array<PolyJoint> type: Target of rotation
sinValue
number type: Sin value of rotation angle
cosValue
number type: Cos value of rotation angle
center
DblPoint type: Center of the rotation

IMath.RotatePoint function

Rotate a point around the center point.

Lua

DblPoint return_value = IMath.RotatePoint(DblPoint point, number sinValue, number cosValue, DblPoint center)

C++

::DblPoint& ::IMath::RotatePoint(::DblPoint& point, double sinValue, double cosValue, const ::DblPoint& center)

Parameters

return_value
DblPoint type: Converted point
point
DblPoint type: A point that should be converted.
sinValue
number type: Sine of an angle of the rotation
cosValue
number type: Cosine of an angle of the rotation
center
DblPoint type: Center of the rotation

IMath.RotatePointArray function

Rotate the point array around the center point.

Lua

array<DblPoint> return_value = IMath.RotatePointArray(array<DblPoint> pointArray, number sinValue, number cosValue, DblPoint center)

C++

std::vector<::DblPoint>& ::IMath::RotatePointArray(std::vector<::DblPoint>& pointArray, double sinValue, double cosValue, const ::DblPoint& center)

Parameters

return_value
array<DblPoint> type: Converted point array
pointArray
array<DblPoint> type: A point array that should be converted.
sinValue
number type: Sine of an angle of the rotation
cosValue
number type: Cosine of an angle of the rotation
center
DblPoint type: Center of the rotation

IMath.Sin function

Returns the sine of an angle of r, expressed in [0.0, 2.0). 2.0 means 360 degrees.

Lua

number return_value = IMath.Sin(number r)

C++

double ::IMath::Sin(double r)

Parameters

return_value
number type: the sine of an angle
r
number type: Angle, expressed in [0.0, 2.0).

IMath.SkewPoint function

Skew a point.

Lua

DblPoint return_value = IMath.SkewPoint(DblPoint point, number skew, number baseY)

C++

::DblPoint& ::IMath::SkewPoint(::DblPoint& point, double skew, double baseY)

Parameters

return_value
DblPoint type: Converted point
point
DblPoint type: A point that should be converted.
skew
number type: Value of skew. Equal to moveX/distanceY
baseY
number type: Base y coordinate

IMath.SkewPoint function

Skew a point.

   ┌─────────┐─┬
   │                  │  │RadiusY
   │                  │  │
   │        ┼        │─┴─ CenterY
   │                  │
   │                  │
   └─────────┘

      ShiftX
     ├─-┤
     │    _________  ___
     │  /                /      │
     │/                /        │RadiusY
     /       ┼       /  ────┴
   /                /
 /                /
  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄

Lua

DblPoint return_value = IMath.SkewPoint(DblPoint point, number distanceY, number moveX, number baseY)

C++

::DblPoint& ::IMath::SkewPoint(::DblPoint& point, double distanceY, double moveX, double baseY)

Parameters

return_value
DblPoint type: Converted point
point
DblPoint type: A point that should be converted.
distanceY
number type: Vertical distance from base y to moving point.
moveX
number type: Moving distance in a horizontal direction
baseY
number type: Base y coordinate

IMath.SkewPointArray function

Skew the array of points.

Lua

array<DblPoint> return_value = IMath.SkewPointArray(array<DblPoint> pointArray, number skew, number baseY)

C++

std::vector<::DblPoint>& ::IMath::SkewPointArray(std::vector<::DblPoint>& pointArray, double skew, double baseY)

Parameters

return_value
array<DblPoint> type: Converted point array
pointArray
array<DblPoint> type: A point array that should be converted.
skew
number type: Value of skew. Equal to moveX/distanceY
baseY
number type: Base y coordinate

IMath.SkewPointArray function

Skew the array of points.

Lua

array<DblPoint> return_value = IMath.SkewPointArray(array<DblPoint> pointArray, number distanceY, number moveX, number baseY)

C++

std::vector<::DblPoint>& ::IMath::SkewPointArray(std::vector<::DblPoint>& pointArray, double distanceY, double moveX, double baseY)

Parameters

return_value
array<DblPoint> type: Converted point array
pointArray
array<DblPoint> type: A point array that should be converted.
distanceY
number type: Vertical distance from base y to moving point.
moveX
number type: Moving distance in a horizontal direction
baseY
number type: Base y coordinate

IMath module

IMath.MAX_DOUBLE constant

Maximum value of double.

Lua

 IMath.MAX_DOUBLE

C++

constexpr const double ::IMath::MAX_DOUBLE

LinkAttitude module

LinkAttitude.ANGLE constant

The distance of two MOLIPs is calculated by the angle and distance of two MOLIPs. Combination of ANGLE_X and ANGLE_Y.

Lua

integer LinkAttitude.ANGLE

C++

constexpr WORD ::LinkAttitude::ANGLE

LinkAttitude.ANGLE_X constant

The horizontal distance of two MOLIPs is calculated by the angle and distance of two MOLIPs.

Lua

integer LinkAttitude.ANGLE_X

C++

constexpr WORD ::LinkAttitude::ANGLE_X

LinkAttitude.ANGLE_Y constant

The vertical distance of two MOLIPs is calculated by the angle and distance of two MOLIPs.

Lua

integer LinkAttitude.ANGLE_Y

C++

constexpr WORD ::LinkAttitude::ANGLE_Y

LinkAttitude.COORD constant

Keep the distance between two MOLIPs. Combination of COORD_X and COORD_Y.

Lua

integer LinkAttitude.COORD

C++

constexpr WORD ::LinkAttitude::COORD

LinkAttitude.COORD_X constant

Keep the horizontal distance between two MOLIPs.

Lua

integer LinkAttitude.COORD_X

C++

constexpr WORD ::LinkAttitude::COORD_X

LinkAttitude.COORD_Y constant

Keep the vertical distance between two MOLIPs.

Lua

integer LinkAttitude.COORD_Y

C++

constexpr WORD ::LinkAttitude::COORD_Y

LinkAttitude.NONE constant

Do not interlock between two MOLIPs. Combination of NONE_X and NONE_Y.

Lua

integer LinkAttitude.NONE

C++

constexpr WORD ::LinkAttitude::NONE

LinkAttitude.NONE_X constant

Do not interlock horizontal direction.

Lua

integer LinkAttitude.NONE_X

C++

constexpr WORD ::LinkAttitude::NONE_X

LinkAttitude.NONE_Y constant

Do not interlock vertical direction.

Lua

integer LinkAttitude.NONE_Y

C++

constexpr WORD ::LinkAttitude::NONE_Y

LinkAttitude.RATIO constant

The distance of two MOLIPs is directly proportional to the size of the source object. Combination of RATIO_X and RATIO_Y.

Lua

integer LinkAttitude.RATIO

C++

constexpr WORD ::LinkAttitude::RATIO

LinkAttitude.RATIO_X constant

The horizontal distance of two MOLIPs is directly proportional to the width of the source object.

Lua

integer LinkAttitude.RATIO_X

C++

constexpr WORD ::LinkAttitude::RATIO_X

LinkAttitude.RATIO_Y constant

The vertical distance of two MOLIPs is directly proportional to the height of the source object.

Lua

integer LinkAttitude.RATIO_Y

C++

constexpr WORD ::LinkAttitude::RATIO_Y

LinkRec structure

Link information.

LinkRec table

Member variables

attribute
integer type: Type of m_mmptOffset. LinkAttitude member is assigned.
linkFrom
MolipRec type: MOLIP of the link source.
linkTo
MolipRec type: MOLIP of the link destination.
offset
DblPoint type: Offset value from link source to destination.

Lua

table value = {
    attribute = [integer value],
    linkFrom = {
        molipId = [integer value],
        objectId = [integer value],
    }
    linkTo = {
        molipId = [integer value],
        objectId = [integer value],
    }
    offset = {
        x = [number value],
        y = [number value],
    }
}

C++

::FCLinkRec {
    WORD m_wLinkKind;
    ::FCMolipRec m_mlpFrom;
    ::FCMolipRec m_mlpTo;
    ::DblPoint m_mmptOffset;
}

array<LinkRec> table

Lua

table value = {
    { [LinkRec table} },
    { [LinkRec table} },
        :
}

C++

std::vector<::FCLinkRec>

hash<number,LinkRec> table

Lua

table value = {
    { [number] = [LinkRec table} },
    { [number] = [LinkRec table} },
        :
}

C++

std::unordered_map<double,::FCLinkRec>

hash<string,LinkRec> table

Lua

table value = {
    { [string] = [LinkRec table} },
    { [string] = [LinkRec table} },
        :
}

C++

std::unordered_map<std::string,::FCLinkRec>

hash<boolean,LinkRec> table

Lua

table value = {
    { [boolean] = [LinkRec table} },
        :
}

C++

std::unordered_map<bool,::FCLinkRec>

LinkManager class

Manage link information between objects.

LinkManager:GetLinkInto method

             +---+---+
             |   D   |
             +-------+
               A A A
               | | |
       +-------+ | +-------+
       |         |         |
       |         |         |
   +---+---+ +---+---+ +---+---+
   |   A   | |   B   | |   C   |
   +-------+ +-------+ +-------+
Get IDs of links that connet two MOLIPs and its destination is MOLIP-D.If MOLIP-ID in the parameter 'destination' is -1, then this function gets links that includes every MOLIP in the object D as a destination.

Lua

integer return_value, array<integer> linkIdArray = [LinkManager class-object]:GetLinkInto(MolipRec destination)

C++

size_t ::FCLinkManager::GetAffectedByTo(DWORDSet& linkIdArray, const ::FCMolipRec& destination)

Parameters

return_value
integer type: Count of linkIdArray
linkIdArray
array<integer> type: Set of link-ID
destination
MolipRec type: Record of the destination MOLIP

LinkManager:GetLinkOut method

             +---+---+
             |   S   |
             +-------+
               | | |
               | | |
       +-------+ | +-------+
       |         |         |
       V         V         V
   +---+---+ +---+---+ +---+---+
   |   A   | |   B   | |   C   |
   +-------+ +-------+ +-------+
Get IDs of links that connet two MOLIPs and its source is MOLIP-S.If MOLIP-ID in the parameter 'source' is -1, then this function gets links that includes every MOLIP in the object S as a source.

Lua

integer return_value, array<integer> linkIdArray = [LinkManager class-object]:GetLinkOut(MolipRec source)

C++

size_t ::FCLinkManager::GetAffectedByFrom(DWORDSet& linkIdArray, const ::FCMolipRec& source)

Parameters

return_value
integer type: Count of linkIdArray
linkIdArray
array<integer> type: Set of link-ID
source
MolipRec type: Record of the source MOLIP

LinkManager:GetLinkRec method

Get the link record specified by linkID.

Lua

LinkRec return_value = [LinkManager class-object]:GetLinkRec(integer linkID)

C++

const ::FCLinkRec* ::FCLinkManager::LinkIDtoLinkRec(DWORD linkID)

Parameters

return_value
LinkRec type: link record
linkID
integer type: link-ID

LinkManager:ReLinkIn method

                   - - -----+
                            |
                            |
                    Del     |
       +- - - - - - - - - ->*    Make
       :         +- - - - ->*<- - -+
       :         :  Del     A      :
       :         :                 :
   +---+---+ +---+---+         +---+---+
   |   X   | |   Y   |         |   B   |
   +-------+ +-------+         +-------+
Delete the every link that connects from any MOLIP to MOLIP-A, then connect from MOLIP-B to MOLIP-A with a link.
If MOLIP-B is invalid, then just delete the existing links.

Lua

[LinkManager class-object]:ReLinkIn(MolipRec molipA, MolipRec molipB, integer linkAttitude)

C++

void ::FCLinkManager::ReLinkIn(const ::FCMolipRec& molipA, const ::FCMolipRec& molipB, WORD linkAttitude)

Parameters

molipA
MolipRec type: MOLIP-A
molipB
MolipRec type: MOLIP-B
linkAttitude
integer type: Type of the link that connets from MOLIP-A to MOLIP-B.

LinkManager:ReLinkOut method

                   - - ----+
                           |
                           |
                    Del    |
       +- - - - - - - - - -*     Make
       :         +- - - - -*- - - -+
       :         :  Del    A       :
       V         V                 V
   +---+---+ +---+---+         +---+---+
   |   X   | |   Y   |         |   B   |
   +-------+ +-------+         +-------+
Delete the every link that connects from MOLIP-A to any MOLIP, then connet from MOLIP-A to MOLIP-B with a link.
If MOLIP-B is invalid, then just delete the existing links.

Lua

[LinkManager class-object]:ReLinkOut(MolipRec molipA, MolipRec molipB, integer linkAttitude)

C++

void ::FCLinkManager::ReLinkOut(const ::FCMolipRec& molipA, const ::FCMolipRec& molipB, WORD linkAttitude)

Parameters

molipA
MolipRec type: MOLIP-A
molipB
MolipRec type: MOLIP-B
linkAttitude
integer type: Type of the link that connets from MOLIP-A to MOLIP-B.

IGraph module

Functions about graphics.

IGraph.CalcEdgeLayout function

Calculate the beginning and ending points, attributes of ObjPoly object and type of link when connecting two objects with ObjPoly object.

Lua

array<PolyJoint> polyJointArray, integer linkMoveType, integer bgnLinkMoveStyle, integer bgnLinkAttitude, integer endLinkMoveStyle, integer endLinkAttitude = IGraph.CalcEdgeLayout(array<PolyJoint> polyJointArray, boolean isCurvedShape, boolean isBgnShift, integer bgnHitType, MolipRec bgnHitMolip, number bgnGap, boolean isEndShift, integer endHitType, MolipRec endHitMolip, number endGap)

C++

void ::IGraph::CalcEdgeLayout(std::vector<::FCPolyJoint>& polyJointArray, ::FCObjPoly::LinkFormation& linkMoveType, ::FCObjPoly::LinkInterlocking& bgnLinkMoveStyle, WORD& bgnLinkAttitude, ::FCObjPoly::LinkInterlocking& endLinkMoveStyle, WORD& endLinkAttitude, BOOL isCurvedShape, BOOL isBgnShift, ::MolipHitType bgnHitType, const ::FCMolipRec& bgnHitMolip, mmetol bgnGap, BOOL isEndShift, ::MolipHitType endHitType, const ::FCMolipRec& endHitMolip, mmetol endGap)

Parameters

polyJointArray
array<PolyJoint> type: Array of polyline vertexes
linkMoveType
integer type: Type of polyline moving. Item of LinkFormation.
bgnLinkMoveStyle
integer type: Synchronization to next joint when starting point is moved by link. Item of LinkInterlocking.
bgnLinkAttitude
integer type: Attitude of the link connecting to the starting point. Item of LinkAttitude
endLinkMoveStyle
integer type: Synchronization to next joint when ending point is moved by link. Item of LinkInterlocking.
endLinkAttitude
integer type: Attitude of the link connecting to the ending point. Item of LinkAttitude
polyJointArray
array<PolyJoint> type: Array of polyline vertexes
isCurvedShape
boolean type: TRUE:Curve/FALSE:Straight
isBgnShift
boolean type: TRUE:Correct the next point of the starting point horizontal or vertical/FALSE:Do not correct
bgnHitType
integer type: Hitting type of the starting MOLIP
bgnHitMolip
MolipRec type: MOLIP linking to the starting point
bgnGap
number type: Gap between the target object and the starting point/DBL_MAX:Defined by the system
isEndShift
boolean type: TRUE:Correct the next point of the ending point horizontal or vertical/FALSE:Do not correct
endHitType
integer type: Hitting type of the ending MOLIP
endHitMolip
MolipRec type: MOLIP linking to the ending point
endGap
number type: Gap between the target object and the ending point/DBL_MAX:Defined by the system

Session class

Session class for Lua script. Session means the term from the beginning of object editing until the end.Session instance will be kept while the session.Session instance provides some functions for session, keeps objects and numeric values.

Session:ApplyKeepedObject method

Apply attributes of keeped object to the original object. Some command will be executed for the applying.

Lua

boolean return_value = [Session class-object]:ApplyKeepedObject(integer keepId)

C++

BOOL ::Session::ApplyKeepedObject(__int64 keepId)

Parameters

return_value
boolean type: TRUE:Succeeded/FALSE:Failed
keepId
integer type: Keep-ID

Session:ApplyKeepedObject method

Apply attributes of keeped object to the specified object. Some command will be executed for the applying.

Lua

boolean return_value = [Session class-object]:ApplyKeepedObject(integer keepId, integer objectId)

C++

BOOL ::Session::ApplyKeepedObject(__int64 keepId, __int64 objectId)

Parameters

return_value
boolean type: TRUE:Succeeded/FALSE:Failed
keepId
integer type: Keep-ID
objectId
integer type: ID of the original object

Session:CommitTransaction method

Commit the transaction. Redo/Undo command moves the operation transaction by transaction.

Lua

[Session class-object]:CommitTransaction()

C++

void ::Session::CommitTransaction()

Session:DuplicateAndKeepObject method

Duplicate the specified object and store the copy in this session instance.

Lua

[Session class-object]:DuplicateAndKeepObject(integer keepId, integer objectId)

C++

void ::Session::DuplicateAndKeepObject(__int64 keepId, __int64 objectId)

Parameters

keepId
integer type: Keep-ID. It specifies the stored object.
objectId
integer type: ID of the object which should be copied.

Session:GetKeepedObject method

Get a keeped object specified with the keepId.

Lua

ObjDynabase return_value = [Session class-object]:GetKeepedObject(integer keepId)

C++

::FCObjDynabase* ::Session::GetKeepedObject(__int64 keepId)

Parameters

return_value
ObjDynabase type: Stored object
keepId
integer type: Keep-ID

Session:GetRegistryDouble method

Get the stored double value from the session registry.

Lua

number return_value = [Session class-object]:GetRegistryDouble(string key)

C++

double ::Session::GetRegistryDouble(const std::string& key)

Parameters

return_value
number type: Value
key
string type: Key

Session:GetRegistryString method

Get the stored string value from the session registry.

Lua

string return_value = [Session class-object]:GetRegistryString(string key)

C++

const std::string& ::Session::GetRegistryString(const std::string& key)

Parameters

return_value
string type: Value
key
string type: Key

Session:NotifyMovingObject method

Notify application that objects will be moved at the next step.

Lua

[Session class-object]:NotifyMovingObject(array<integer> objectIdArray)

C++

void ::Session::NotifyMovingObject(const std::vector<__int64>& objectIdArray)

Parameters

objectIdArray
array<integer> type: Array of object-ID

Session:SetRegistryDouble method

Store the double value into the session registry.

Lua

[Session class-object]:SetRegistryDouble(string key, number value)

C++

void ::Session::SetRegistryDouble(const std::string& key, double value)

Parameters

key
string type: Key
value
number type: Value

Session:SetRegistryString method

Store the string value into the session registry.

Lua

[Session class-object]:SetRegistryString(string key, string value)

C++

void ::Session::SetRegistryString(const std::string& key, const std::string& value)

Parameters

key
string type: Key
value
string type: Value

Session:StartTransaction method

Start the transaction of command execution.

Lua

[Session class-object]:StartTransaction()

C++

void ::Session::StartTransaction()

LayerAccessFlag module

LayerAccessFlag.ALL constant

Combination of every authority.

Lua

integer LayerAccessFlag.ALL

C++

constexpr WORD ::LayerAccessFlag::ALL

LayerAccessFlag.ANY constant

Get the object without regard to the access flag. It's used with GetObjectSet function.

Lua

integer LayerAccessFlag.ANY

C++

constexpr WORD ::LayerAccessFlag::ANY

LayerAccessFlag.DRAW constant

Display drawing authority.

Lua

integer LayerAccessFlag.DRAW

C++

constexpr WORD ::LayerAccessFlag::DRAW

LayerAccessFlag.EDIT constant

Object editing authority.

Lua

integer LayerAccessFlag.EDIT

C++

constexpr WORD ::LayerAccessFlag::EDIT

LayerAccessFlag.NONE constant

No authority.

Lua

integer LayerAccessFlag.NONE

C++

constexpr WORD ::LayerAccessFlag::NONE

LayerAccessFlag.PRINT constant

Print authority.

Lua

integer LayerAccessFlag.PRINT

C++

constexpr WORD ::LayerAccessFlag::PRINT

LayerAccessFlag.SELECT constant

Object selection authority.

Lua

integer LayerAccessFlag.SELECT

C++

constexpr WORD ::LayerAccessFlag::SELECT

DynamicDrawEnv class

Environment management class.

DynamicDrawEnv:GetNearestSColor method

Get the ID of the registered color nearest to the specified color.

Lua

integer return_value = [DynamicDrawEnv class-object]:GetNearestSColor(integer argb)

C++

SColorID ::FCEnv::GetNearestSColor(__int64 argb)

Parameters

return_value
integer type: Registered color
argb
integer type: ARGB 32bit color

DynamicDrawEnv:GetRegBrushByName method

Get the ID array of the registered brush that have same name with the specified name.

Lua

array<integer> regBrushIdArray = [DynamicDrawEnv class-object]:GetRegBrushByName(string name)

C++

void ::FCEnv::GetRegBrushByName(std::vector<__int32>& regBrushIdArray, const wchar_t* name)

Parameters

regBrushIdArray
array<integer> type: ID array of the registered brush
name
string type: Name of the registered brush

DynamicDrawEnv:GetRegPenByName method

Get the ID array of the registered pen that have same name with the specified name.

Lua

array<integer> regPenIdArray = [DynamicDrawEnv class-object]:GetRegPenByName(string name)

C++

void ::FCEnv::GetRegPenByName(std::vector<__int32>& regPenIdArray, const wchar_t* name)

Parameters

regPenIdArray
array<integer> type: ID array of the registered pen
name
string type: Name of the registered pen