meshselection.h File Reference

Go to the source code of this file.

Classes

class   MeshSelection

Defines

#define  MSEL_ALL   1
#define  MSEL_CUR   2
#define  MSEL_EXP   3
#define  MSEL_SINGLE   4
#define  MSEL_NAMED   5
#define  is_meshselection(v)
#define  is_vertselection(v)   ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(VertSelectionValue))
#define  is_faceselection(v)   ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(FaceSelectionValue))
#define  is_edgeselection(v)   ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(EdgeSelectionValue))

Functions

  visible_class (VertSelectionValue) class VertSelectionValue
  visible_class (FaceSelectionValue) class FaceSelectionValue
  visible_class (EdgeSelectionValue) class EdgeSelectionValue

Define Documentation

#define MSEL_ALL   1

Definition at line 25 of file meshselection.h.

#define MSEL_CUR   2

Definition at line 26 of file meshselection.h.

#define MSEL_EXP   3

Definition at line 27 of file meshselection.h.

#define MSEL_SINGLE   4

Definition at line 28 of file meshselection.h.

#define MSEL_NAMED   5

Definition at line 29 of file meshselection.h.

#define is_meshselection (   v )
Value:
((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(VertSelectionValue) || (v)->tag == class_tag(FaceSelectionValue) || \
                                (v)->tag == class_tag(EdgeSelectionValue) )

Definition at line 43 of file meshselection.h.

#define is_vertselection (   v )    ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(VertSelectionValue))
#define is_faceselection (   v )    ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(FaceSelectionValue))
#define is_edgeselection (   v )    ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(EdgeSelectionValue))

Function Documentation

visible_class ( VertSelectionValue  )

Definition at line 94 of file meshselection.h.

                         : public MeshSelection
{
public:
    ScripterExport VertSelectionValue(MAXWrapper* own, BYTE stype, int indx = 0);
    
    MeshSelection* new_sel(MAXWrapper* own, BYTE stype, int indx = 0);

                classof_methods (VertSelectionValue, Value);
#   define      is_vertselection(v) ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(VertSelectionValue))
    void        collect() { delete this; }
    ScripterExport void sprin1(CharStream* s);

    // specialized utility functions
    BitArray    get_sel();
    BitArray    get_owner_sel() { return (owner == NULL) ? BitArray() : owner->get_vertsel(); }
    void        set_owner_sel(BitArray &sel) {if (owner != NULL) owner->set_vertsel(sel); }
    BitArray    get_sel_vertices(Mesh* m);
    BitArray    get_sel_vertices(MNMesh* m);
    BitArray    get_sel_vertices(PatchMesh* m);
    GenericNamedSelSetList& get_named_sel_set_list() { return owner->get_named_vertsel_set(); }
    int         num_elements(Mesh* m) { return m->getNumVerts(); } 
    int         num_elements(MNMesh* m) { return m->VNum(); } 
    int         num_elements(PatchMesh* m) { return m->getNumVerts(); } 
    BOOL        is_same_selection(Value* s) { return is_vertselection(s); }
    void        delete_sel(Mesh& m, MeshDelta& md, BitArray &sel);
    void        delete_sel(MNMesh* m, ReferenceTarget* owner, BitArray &sel); 

    // operations
    def_generic ( put,          "put");

    // built-in property accessors
    def_property ( pos );
};
visible_class ( FaceSelectionValue  )

Definition at line 132 of file meshselection.h.

                         : public MeshSelection
{
public:
    ScripterExport FaceSelectionValue(MAXWrapper* own, BYTE stype, int indx = 0);
    
    MeshSelection* new_sel(MAXWrapper* own, BYTE stype, int indx = 0);

                classof_methods (FaceSelectionValue, Value);
#   define      is_faceselection(v) ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(FaceSelectionValue))
    void        collect() { delete this; }
    ScripterExport void sprin1(CharStream* s);

    // specialized utility functions
    BitArray    get_sel();
    BitArray    get_owner_sel() { return (owner == NULL) ? BitArray() : owner->get_facesel(); }
    void        set_owner_sel(BitArray &sel) {if (owner != NULL) owner->set_facesel(sel); }
    BitArray    get_sel_vertices(Mesh* m);
    BitArray    get_sel_vertices(MNMesh* m);
    BitArray    get_sel_vertices(PatchMesh* m);
    GenericNamedSelSetList& get_named_sel_set_list() { return owner->get_named_facesel_set(); }
    int         num_elements(Mesh* m) { return m->getNumFaces(); } 
    int         num_elements(MNMesh* m) { return m->FNum(); } 
    int         num_elements(PatchMesh* m) { return m->getNumPatches(); } 
    BOOL        is_same_selection(Value* s) { return is_faceselection(s); }
    void        delete_sel(Mesh& m, MeshDelta& md, BitArray &sel);
    void        delete_sel(MNMesh* m, ReferenceTarget* owner, BitArray &sel); 

    // operations
    def_generic ( put,          "put");

    // built-in property accessors
};
visible_class ( EdgeSelectionValue  )

Definition at line 169 of file meshselection.h.

                         : public MeshSelection
{
public:
    ScripterExport EdgeSelectionValue(MAXWrapper* own, BYTE stype, int indx = 0);
    
    MeshSelection* new_sel(MAXWrapper* own, BYTE stype, int indx = 0);

                classof_methods (EdgeSelectionValue, Value);
#   define      is_edgeselection(v) ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(EdgeSelectionValue))
    void        collect() { delete this; }
    ScripterExport void sprin1(CharStream* s);

    // specialized utility functions
    BitArray    get_sel();
    BitArray    get_owner_sel() { return (owner == NULL) ? BitArray() : owner->get_edgesel(); }
    void        set_owner_sel(BitArray &sel) {if (owner != NULL) owner->set_edgesel(sel); }
    BitArray    get_sel_vertices(Mesh* m);
    BitArray    get_sel_vertices(MNMesh* m);
    BitArray    get_sel_vertices(PatchMesh* m);
    GenericNamedSelSetList& get_named_sel_set_list() { return owner->get_named_edgesel_set(); }
    int         num_elements(Mesh* m) { return m->getNumFaces() * 3; } 
    int         num_elements(MNMesh* m) { return m->ENum(); } 
    int         num_elements(PatchMesh* m) { return m->getNumEdges(); } 
    BOOL        is_same_selection(Value* s) { return is_edgeselection(s); }
    void        delete_sel(Mesh& m, MeshDelta& md, BitArray &sel);
    void        delete_sel(MNMesh* m, ReferenceTarget* owner, BitArray &sel); 

    // operations

    // built-in property accessors
};