Smartprop Selection Criteria

From Valve Developer Community
Jump to navigation Jump to search
Dead End - Icon.png
This article has no Wikipedia icon links to other VDC articles. Please help improve this article by adding links Wikipedia icon that are relevant to the context within the existing text.
January 2024
Wikipedia - Letter.png
This article has not been added to any content Wikipedia icon categories. Please help out by Wikipedia icon adding categories.
January 2024

CSmartPropSelectionCriteria_LinearLength

Specifies the length of this element, used when fitting an element on to a line.

m_flLength
Specifies the length of the line that will be taken up if this element is selected.
m_bAllowScale
Can this object be scaled. If enabled the minimum and maximum lengths must be set to specify the size range of allowable scale.
m_flMinLength
Minimum allowable length for the object. Must be <= length. If length is 100 and minimum length is 20, then the object may be assigned a scale in the rage [ 0.2, 1.0 ]
m_flMaxLength
Maximum allowable length for the object. Must be >= length. If length is 100 and maximum length is 160, then the object may be assigned a scale in the rage [ 1.0, 1.6 ]

CSmartPropSelectionCriteria_EndCap

Specifies that this is a special part that should be used at the start or end of the line.

m_bStart
Is this an element which should be placed at the start of the line.
m_bEnd
Is this an element which should be placed at the end of the line.

CSmartPropSelectionCriteria_ChoiceWeight

Specifies a weighting value which affects that likelyhood of selecting this element which picking a choice.

m_flWeight
Selection weight

CSmartPropSelectionCriteria_IsValid

Specifies if this element is currently valid choice.

Todo:  Add class members

CSmartPropSelectionCriteria_PathPosition

Specifies the set of positions that are valid for path placement.

m_PlaceAtPositions
Specifies the method to use to determine which positions this element should be placed at along the path.
m_nPlaceEveryNthPosition
Specifies the spacing between positions. For example, a value of 1 will place the element at every position, 2 every other position, 3 every third position.
m_nNthPositionIndexOffset
Specifies an offset to use when determining the Nth position to place an element at. For example if placing at every third position with an offset of 0, an element will appear at positions 1, 4, 7, and so on. But if an offset of 2 is set instead of 0, then an element will appear at positions 3, 6, and 9 and so on.
m_bAllowAtStart
Should this element be placed at the first positions on the path
m_bAllowAtEnd
Should this element be placed at the last positions on the path