C# Class Revit.SDK.Samples.CurtainWallGrid.CS.GridGeometry

manages the behaviors & operations of CurtainGrid
Afficher le fichier Open project: AMEE/revit Class Usage Examples

Méthodes publiques

Méthode Description
AddAllMullions ( ) : void

add mullions to all the segments of the curtain grid due to the limitations of Mullions, it's not available yet to add mullions to the edges of the curtain grid as Revit UI does

AddAllSegments ( ) : void

add all the deleted segments back for a grid line

AddSegment ( ) : void

add a new segment to the specified location

AddUGridLine ( ) : void

add a new U grid line to the specified location

AddVGridLine ( ) : void

add a new V grid line to the specified location

DeleteAllMullions ( ) : void

delete all the mullions of the curtain grid

GetLineToBeMoved ( ) : bool

get the grid line to be removed

GridGeometry ( MyDocument myDoc ) : System

constructor

LockOrUnlockSelectedGridLine ( ) : void

toggle the selected grid line's Lock status: if it's locked, unlock it, vice versa

MoveGridLine ( System mousePosition ) : bool

move the selected grid line to the location of the mouse cursor

ReloadGeometryData ( ) : void

reload all the geometry data of the curtain grid (grid lines, vertexes, and convert them to 2D format)

ReloadGridProperties ( ) : void

obtain all the properties of the curtain grid

RemoveSegment ( ) : void

remove the selected segment from the curtain grid

Private Methods

Méthode Description
GetCurtainGridVertexes ( ) : bool

get all of the 4 vertexes of the curtain grid

GetPoints ( CurtainCellSet cells ) : List

get all the vertexes of the curtain cells

GetULines ( ) : void

get all the U grid lines' data of the curtain grid

GetVLines ( ) : void

get all the V grid lines' data of the curtain grid

GetVertexesByCells ( CurtainCellSet cells, Autodesk &minXYZ, Autodesk &maxXYZ ) : void

get the vertexes of the bounding box which covers all the curtain cells

GetVertexesByPoints ( List points, Autodesk &minXYZ, Autodesk &maxXYZ ) : void

get a bounding box which covers all the input points

MimicRecursiveDelete ( bool &canRemove, SegmentLine2D segLine2D, List removeList ) : void

the "regeneration" step: if there're only 2 segments existing in one joint and they're in the same line, delete one seg will cause the other been deleted automatically

MimicRemoveSegment ( bool &canRemove, SegmentLine2D seg, List removeList ) : void

remove the segment from the grid line

MimicRemoveSegments ( bool &canRemove, List removeList ) : void

a simulative "Delete Segment" operation before real deletion as we may occur some situations that prevent us to delete the specific segment for example, delete the specific segment will make some other segments to be deleted automatically (the "conjoint" ones) and the "automatically deleted" segment is the last segment of its parent grid line in this situation, we should prevent deleting that specific segment and rollback all the simulative deletion

Method Details

AddAllMullions() public méthode

add mullions to all the segments of the curtain grid due to the limitations of Mullions, it's not available yet to add mullions to the edges of the curtain grid as Revit UI does
public AddAllMullions ( ) : void
Résultat void

AddAllSegments() public méthode

add all the deleted segments back for a grid line
public AddAllSegments ( ) : void
Résultat void

AddSegment() public méthode

add a new segment to the specified location
public AddSegment ( ) : void
Résultat void

AddUGridLine() public méthode

add a new U grid line to the specified location
public AddUGridLine ( ) : void
Résultat void

AddVGridLine() public méthode

add a new V grid line to the specified location
public AddVGridLine ( ) : void
Résultat void

DeleteAllMullions() public méthode

delete all the mullions of the curtain grid
public DeleteAllMullions ( ) : void
Résultat void

GetLineToBeMoved() public méthode

get the grid line to be removed
public GetLineToBeMoved ( ) : bool
Résultat bool

GridGeometry() public méthode

constructor
public GridGeometry ( MyDocument myDoc ) : System
myDoc MyDocument /// the document of the sample ///
Résultat System

LockOrUnlockSelectedGridLine() public méthode

toggle the selected grid line's Lock status: if it's locked, unlock it, vice versa
public LockOrUnlockSelectedGridLine ( ) : void
Résultat void

MoveGridLine() public méthode

move the selected grid line to the location of the mouse cursor
public MoveGridLine ( System mousePosition ) : bool
mousePosition System /// indicates the destination position of the grid line ///
Résultat bool

ReloadGeometryData() public méthode

reload all the geometry data of the curtain grid (grid lines, vertexes, and convert them to 2D format)
public ReloadGeometryData ( ) : void
Résultat void

ReloadGridProperties() public méthode

obtain all the properties of the curtain grid
public ReloadGridProperties ( ) : void
Résultat void

RemoveSegment() public méthode

remove the selected segment from the curtain grid
public RemoveSegment ( ) : void
Résultat void