Skip to content

CSmartPropElement_FitOnLine

CS2 build 25218825 · Steam date 2026-09-09 · platform windows-x86_64 · cs2_schema.json

Kind: classSize: 736 bytes (0x2e0)Alignment: 8 bytesModule: smartpropsBinary: !GlobalTypes

Metadata: MPropertyDescription An element which fits one or more instances of a set of choices on to a line. MPropertyFriendlyName Fit on Line

Relationships

Inherits from: CSmartPropElement_Group

Inheritance tree
Relationship diagram (5 edges)
classDiagram
    CSmartPropElement <|-- CSmartPropElement_Group
    CSmartPropElement_Group <|-- CSmartPropElement_FitOnLine
    CSmartPropElement_FitOnLine *-- CSmartPropAttributeCoordinateSpace
    CSmartPropElement_FitOnLine *-- CSmartPropAttributeScaleMode
    CSmartPropElement_FitOnLine *-- CSmartPropAttributePickMode
Inheritance chain, direct subclasses (up to 20) and a few composition edges

Memory layout

15 fields, 9 declared here and 6 inherited. Offsets are absolute from the object base on windows-x86_64.

CSmartPropElementCSmartPropElement_GroupCSmartPropElement_FitOnLine

OffsetFieldTypeFromAnnotations
0x8m_nElementIDint32CSmartPropElementMPropertySuppressField MVDataUniqueMonotonicInt _editor/next_element_id
0x10m_bEnabledCSmartPropAttributeBoolCSmartPropElementMPropertyDescription Is this element enabled? If not enabled, this element will not be evaluted and will have no effect on the result. MPropertySortPriority 10 MVDataEnableKey
0x50m_sLabelCUtlStringCSmartPropElementMPropertyDescription Optional text that will appear in the outliner to help organize Smart Prop elements and communicate their purpose to other users. MPropertyFriendlyName Label
0x58m_SelectionCriteriaCUtlVector< CSmartPropSelectionCriteria* >CSmartPropElementMPropertyFriendlyName Selection Criteria MVDataPromoteField 2
0x70m_ModifiersCUtlVector< CSmartPropModifier* >CSmartPropElementMPropertyFriendlyName Modifiers MVDataPromoteField 2
0x88m_ChildrenCUtlVector< CSmartPropElement* >CSmartPropElement_GroupMPropertyDescription List of child elements which will appear if this element appears MPropertyFriendlyName Children MVDataPromoteField 1
0xa0m_vStartCSmartPropAttributeVectorMPropertyDescription Specifies the start point of the line in the specified coordinate space. MPropertyStartGroup +End Points
0xe0m_vEndCSmartPropAttributeVectorMPropertyDescription Specifies the end point of the line in the specified coordinate space.
0x120m_PointSpaceCSmartPropAttributeCoordinateSpaceMPropertyDescription Specifies the coordinate space in which the end point values are specified. MPropertyFriendlyName End point space
0x160m_bOrientAlongLineCSmartPropAttributeBoolMPropertyDescription Should the child elements be oriented based on the line. If enabled the child elements placed on the line will be oriented such that their +x axis points along the line towards the end point. MPropertyStartGroup +Orientation
0x1a0m_vUpDirectionCSmartPropAttributeVectorMPropertyDescription Up vector which is used to determine the rotation of each element around the line.
0x1e0m_UpDirectionSpaceCSmartPropAttributeCoordinateSpaceMPropertyDescription Space in which the up direction is defined.
0x220m_bPrioritizeUpCSmartPropAttributeBoolMPropertyDescription When the up direction is not orthogonal to the line direction normally the up vector will be adjusted to make it orthogonal to the line direction. If prioritize up is true, then the up direction will be maintained and the forward direction will be adjusted.
0x260m_nScaleModeCSmartPropAttributeScaleModeMPropertyDescription Specifies how scale is applied to each of the selected element in order to fit them to the line. MPropertyFriendlyName Scale Mode MPropertyStartGroup
0x2a0m_nPickModeCSmartPropAttributePickModeMPropertyDescription Specifies how scale is applied to each of the selected element in order to fit them to the line. MPropertyFriendlyName Child Selection Mode
KV3 class defaults
{
	"_class": "CSmartPropElement_FitOnLine",
	"m_nElementID": -1,
	"m_bEnabled": true,
	"m_sLabel": "",
	"m_SelectionCriteria":
	[
	],
	"m_Modifiers":
	[
	],
	"m_Children":
	[
	],
	"m_vStart":
	[
		0.000000,
		0.000000,
		0.000000
	],
	"m_vEnd":
	[
		0.000000,
		0.000000,
		0.000000
	],
	"m_PointSpace": "ELEMENT",
	"m_bOrientAlongLine": false,
	"m_vUpDirection":
	[
		0.000000,
		0.000000,
		1.000000
	],
	"m_UpDirectionSpace": "ELEMENT",
	"m_bPrioritizeUp": false,
	"m_nScaleMode": "NONE",
	"m_nPickMode": "LARGEST_FIRST"
}