- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic to the Top
- Bookmark
- Subscribe
- Printer Friendly Page
Function to get edge point ids wrather than positions
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
07-03-2012 01:07 PM
Hi
It seems the information about if a point of a SEQUENTIAL_MESH is on the edge of a FACE is available in ACIS.
I found the api function api_get_facet_edge_points, which returns the positions of the edge points.
ENTITY_LIST edges;
api_get_edges(face, edges);
edges.init();
for (ENTITY* edge = 0; edge = edges.next(); )
{
int nepts = 0;
SPAposition* epts = 0;
api_get_facet_edge_points(static_cast<EDGE*>(edge
// find Ids of positions
}
However, this forces me to identify the positions from the face SEQUENTIAL_MESH, since I would like to have the indices of the edge points.
Are there any high or level functions, which can tell me if a point in a SEQUENTIAL_MESH is on the face interior or edge (or start/end point of edge)?
Thanks
Bryn
Re: Function to get edge point ids wrather than positions
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
07-03-2012 01:23 PM
Hi Bryn
I am one of the developers who maintains the faceter (among other things). Unfortunately, the information you want is avialable inside the faceting algorithm, but there is not a clean easy way to get the information out.
There is a way to get the information though, without doing a brute force search through the points. It involves writing a custom mesh manager. If you are not familar with MESH_MANAGERS, I can summarize roughly what they do. The MESH_MANAGER class is an interface for determining the format for facets. There are two virtual methods
logical need_edge_indices()
and
virtual void announce_edge_indices( ENTITY* coedge, void*, ....) // e.g., if you derive from INDEXED_MESH_MANAGER, the void*'s here are pointers to polygon_vertex
which allow you to get the edge data for indexed-type mesh managers. If you are using a global mesh manager, the information is accessible in a different way. Unfortunately, it requires some expertise to figure out how to write a correct mesh manager.
I think it would be a good enhancement to put into acis to provide an easy to use interface for getting this information. I would be happy to help with this, but it requires a more prolonged discussion than I can put in a blog post. If you like, I can ask the blog administrator for you email and correspond directly on the matter.
best regards
Eric

