BRL-CAD
Loading...
Searching...
No Matches
Collaboration diagram for Annotation:

Files

file  annot.h
 

Data Structures

struct  rt_ant
 
struct  rt_annot_seg_style
 
struct  txt_seg
 
struct  fill_seg
 
struct  rt_annot_internal
 

Macros

#define RT_ANNOT_SCREEN_SPACE   0x00000000u
 
#define RT_ANNOT_MODEL_SPACE   0x00000001u
 
#define RT_ANNOT_STYLE_WIDTH   0x00000001u
 
#define RT_ANNOT_STYLE_COLOR   0x00000002u
 
#define RT_ANNOT_STYLE_SCALE   0x00000004u
 
#define RT_ANNOT_STYLE_FILLED   0x00000008u
 
#define RT_ANNOT_STYLE_UNDERLINE   0x00000010u
 
#define RT_ANNOT_STYLE_OVERLINE   0x00000020u
 
#define RT_ANNOT_STYLE_STRIKETHROUGH   0x00000040u
 
#define RT_ANNOT_STYLE_BOLD   0x00000080u
 
#define RT_ANNOT_STYLE_ITALIC   0x00000100u
 
#define RT_TXT_POS_BL   1
 
#define RT_TXT_POS_BC   2
 
#define RT_TXT_POS_BR   3
 
#define RT_TXT_POS_ML   4
 
#define RT_TXT_POS_MC   5
 
#define RT_TXT_POS_MR   6
 
#define RT_TXT_POS_TL   7
 
#define RT_TXT_POS_TC   8
 
#define RT_TXT_POS_TR   9
 
#define RT_ANNOT_CK_MAGIC(_p)   BU_CKMAG(_p, RT_ANNOT_INTERNAL_MAGIC, "rt_annot_internal")
 

Enumerations

enum  rt_annot_segment_role {
  RT_ANNOT_ROLE_UNSPECIFIED = 0 , RT_ANNOT_ROLE_GEOMETRY = 1 , RT_ANNOT_ROLE_TEXT = 2 , RT_ANNOT_ROLE_LEADER = 3 ,
  RT_ANNOT_ROLE_EXTENSION = 4 , RT_ANNOT_ROLE_DIMENSION = 5 , RT_ANNOT_ROLE_ARROWHEAD = 6 , RT_ANNOT_ROLE_SYMBOL = 7 ,
  RT_ANNOT_ROLE_MASK = 8 , RT_ANNOT_ROLE_CENTERMARK = 9 , RT_ANNOT_ROLE_PLACEHOLDER = 10 , RT_ANNOT_ROLE_TEXT_DECORATION = 11
}
 
enum  rt_annot_line_pattern {
  RT_ANNOT_LINE_CONTINUOUS = 0 , RT_ANNOT_LINE_DASHED = 1 , RT_ANNOT_LINE_DOTTED = 2 , RT_ANNOT_LINE_CENTER = 3 ,
  RT_ANNOT_LINE_PHANTOM = 4
}
 

Functions

int rt_txt_pos_flag (int *pos_flag, int horizontal, int vertical)
 
struct rt_annot_internalrt_copy_annot (const struct rt_annot_internal *annot_ip)
 
int rt_annot_validate (const struct rt_annot_internal *annot_ip, struct bu_vls *messages)
 

Detailed Description

Macro Definition Documentation

◆ RT_ANNOT_SCREEN_SPACE

#define RT_ANNOT_SCREEN_SPACE   0x00000000u

Annotation placement modes. Legacy annotations use screen-space coordinates: V is the model-space anchor and verts are display-plane offsets. Model-space annotations embed the same 2-D geometry in the plane spanned by u_vec and v_vec at V.

Definition at line 1012 of file geom.h.

◆ RT_ANNOT_MODEL_SPACE

#define RT_ANNOT_MODEL_SPACE   0x00000001u

Definition at line 1013 of file geom.h.

◆ RT_ANNOT_STYLE_WIDTH

#define RT_ANNOT_STYLE_WIDTH   0x00000001u

Definition at line 1041 of file geom.h.

◆ RT_ANNOT_STYLE_COLOR

#define RT_ANNOT_STYLE_COLOR   0x00000002u

Definition at line 1042 of file geom.h.

◆ RT_ANNOT_STYLE_SCALE

#define RT_ANNOT_STYLE_SCALE   0x00000004u

Definition at line 1043 of file geom.h.

◆ RT_ANNOT_STYLE_FILLED

#define RT_ANNOT_STYLE_FILLED   0x00000008u

Definition at line 1044 of file geom.h.

◆ RT_ANNOT_STYLE_UNDERLINE

#define RT_ANNOT_STYLE_UNDERLINE   0x00000010u

Definition at line 1045 of file geom.h.

◆ RT_ANNOT_STYLE_OVERLINE

#define RT_ANNOT_STYLE_OVERLINE   0x00000020u

Definition at line 1046 of file geom.h.

◆ RT_ANNOT_STYLE_STRIKETHROUGH

#define RT_ANNOT_STYLE_STRIKETHROUGH   0x00000040u

Definition at line 1047 of file geom.h.

◆ RT_ANNOT_STYLE_BOLD

#define RT_ANNOT_STYLE_BOLD   0x00000080u

Definition at line 1048 of file geom.h.

◆ RT_ANNOT_STYLE_ITALIC

#define RT_ANNOT_STYLE_ITALIC   0x00000100u

Definition at line 1049 of file geom.h.

◆ RT_TXT_POS_BL

#define RT_TXT_POS_BL   1

placement flags

Definition at line 1107 of file geom.h.

◆ RT_TXT_POS_BC

#define RT_TXT_POS_BC   2

Definition at line 1108 of file geom.h.

◆ RT_TXT_POS_BR

#define RT_TXT_POS_BR   3

Definition at line 1109 of file geom.h.

◆ RT_TXT_POS_ML

#define RT_TXT_POS_ML   4

Definition at line 1110 of file geom.h.

◆ RT_TXT_POS_MC

#define RT_TXT_POS_MC   5

Definition at line 1111 of file geom.h.

◆ RT_TXT_POS_MR

#define RT_TXT_POS_MR   6

Definition at line 1112 of file geom.h.

◆ RT_TXT_POS_TL

#define RT_TXT_POS_TL   7

Definition at line 1113 of file geom.h.

◆ RT_TXT_POS_TC

#define RT_TXT_POS_TC   8

Definition at line 1114 of file geom.h.

◆ RT_TXT_POS_TR

#define RT_TXT_POS_TR   9

Definition at line 1115 of file geom.h.

◆ RT_ANNOT_CK_MAGIC

#define RT_ANNOT_CK_MAGIC (   _p)    BU_CKMAG(_p, RT_ANNOT_INTERNAL_MAGIC, "rt_annot_internal")

Definition at line 1140 of file geom.h.

Enumeration Type Documentation

◆ rt_annot_segment_role

Semantic roles for annotation segments. These roles do not change the segment geometry; they let importers and applications distinguish, for example, a leader from an extension or dimension line.

Enumerator
RT_ANNOT_ROLE_UNSPECIFIED 
RT_ANNOT_ROLE_GEOMETRY 
RT_ANNOT_ROLE_TEXT 
RT_ANNOT_ROLE_LEADER 
RT_ANNOT_ROLE_EXTENSION 
RT_ANNOT_ROLE_DIMENSION 
RT_ANNOT_ROLE_ARROWHEAD 
RT_ANNOT_ROLE_SYMBOL 
RT_ANNOT_ROLE_MASK 
RT_ANNOT_ROLE_CENTERMARK 
RT_ANNOT_ROLE_PLACEHOLDER 
RT_ANNOT_ROLE_TEXT_DECORATION 

Definition at line 1018 of file geom.h.

◆ rt_annot_line_pattern

Enumerator
RT_ANNOT_LINE_CONTINUOUS 
RT_ANNOT_LINE_DASHED 
RT_ANNOT_LINE_DOTTED 
RT_ANNOT_LINE_CENTER 
RT_ANNOT_LINE_PHANTOM 

Definition at line 1033 of file geom.h.

Function Documentation

◆ rt_txt_pos_flag()

int rt_txt_pos_flag ( int *  pos_flag,
int  horizontal,
int  vertical 
)

set a position flag to the corresponding placement value given numeric settings (1=left/top, 2=middle/center, 3=right/bottom).

◆ rt_copy_annot()

struct rt_annot_internal * rt_copy_annot ( const struct rt_annot_internal annot_ip)
extern

◆ rt_annot_validate()

int rt_annot_validate ( const struct rt_annot_internal annot_ip,
struct bu_vls messages 
)
extern

Validate annotation topology, model-space placement, and optional segment presentation data. Returns zero when valid.